偶尔我会遇到基于延续的Haskell Web框架的概念。这究竟意味着什么?
继续,因为我知道他们是荣耀转到控制结构。我没看到它们与网络内容的关系。
使用continuation究竟会给出什么?
答案 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概述中给出了该方法的现代描述。