【发布时间】:2014-12-29 01:58:02
【问题描述】:
我偶尔会遇到 Haskell 的基于延续的 Web 框架的概念。这到底是什么意思?
据我所知,延续是荣耀的 goto 控制结构。我看不出它们与网络内容有什么关系。
使用延续到底会带来什么?
【问题讨论】:
标签: haskell continuations
我偶尔会遇到 Haskell 的基于延续的 Web 框架的概念。这到底是什么意思?
据我所知,延续是荣耀的 goto 控制结构。我看不出它们与网络内容有什么关系。
使用延续到底会带来什么?
【问题讨论】:
标签: haskell continuations
基于延续的 Web 框架反转 Web 应用程序中的控制流。它不是面向页面的,而是面向流的。显示网页的方式与在桌面应用程序中显示模式对话框的方式相同。控制流(从框架用户的角度来看)是一个命令式操作可以请求显示多个页面。被引用的延续是用户开始的其余操作。
【讨论】:
Haskell 的规范的基于延续的 Web 框架是 venerable WASH system。
这个想法是在延续中捕获状态,允许完全 RESTful、无状态的 Web 应用程序在某些情况下可以从基于非延续的程序版本自动生成。
来自"WASH/CGI: Server-side Web Scripting with Sessions and Typed, Compositional Forms":(2001):
主要思想是使用一个延续来拍摄状态的快照 将表单发送到浏览器后的脚本。这个延续 然后存储在服务器上,表单包含一个密钥供以后使用 继续检索。
the MFlow Monad Reader 概述中给出了该方法的现代描述。
【讨论】: