什么是基于Haskell延续的Web框架?

时间:2014-12-29 01:58:03

标签: haskell continuations

偶尔我会遇到基于延续的Haskell Web框架的概念。这究竟意味着什么?

继续,因为我知道他们是荣耀转到控制结构。我没看到它们与网络内容的关系。

使用continuation究竟会给出什么?

2 个答案:

答案 0 :(得分:5)

基于连续的Web框架反转了Web应用程序中的控制流。它不是面向页面的,而是面向流的。显示网页的方式与在桌面应用程序中显示模式对话框的方式相同。控制流程(从框架用户的角度来看)是一个命令行动可以请求显示多个页面。引用的延续是用户开始的其余操作。

答案 1 :(得分:4)

Haskell的基于规范继续的Web框架是venerable WASH system

这个想法是在延续中捕获状态,允许完全RESTful,无状态的Web应用程序,在某些情况下可以从基于非继续的程序版本自动生成。

来自"WASH/CGI: Server-side Web Scripting with Sessions and Typed, Compositional Forms":(2001):

  

主要思想是使用延续来拍摄状态的快照   将表单发送到浏览器后的脚本。这种延续   然后存储在服务器上,表单包含一个密钥以供日后使用   检索延续。

the MFlow Monad Reader概述中给出了该方法的现代描述。