Was sind Haskell Continuation-basierte Web-Framework?

8

Gelegentlich stoße ich auf die Vorstellung von fortsetzungsbasierten Web-Frameworks für Haskell. Was bedeutet das genau?

Fortsetzungen, wie ich sie kenne, erfreuen sich an Kontrollstrukturen. Ich verstehe nicht, wie sie sich auf Web-Sachen beziehen.

Was genau würden Fortsetzungen geben?

    
user782220 29.12.2014, 01:58
quelle

2 Antworten

5

Ein fortsetzungsbasiertes Web-Framework invertiert den Kontrollfluss in einer Web-Anwendung. Anstatt seitenorientiert zu sein, ist es flussorientiert. Das Anzeigen einer Webseite wird genauso behandelt wie das Anzeigen eines modalen Dialogs in einer Desktop-Anwendung. Der Steuerungsfluss (aus Sicht des Benutzers des Frameworks) besteht darin, dass eine imperative Aktion die Anzeige mehrerer Seiten anfordern kann. Die Fortsetzung, auf die verwiesen wird, ist der Rest der Aktion, die der Benutzer gestartet hat.

    
Carl 29.12.2014 03:29
quelle
4

Das kanonische Fortsetzungs-basierte Web-Framework für Haskell ist das ehrwürdige WASH-System .

Die Idee besteht darin, den Status in der Fortsetzung zu erfassen, wodurch vollständig REST-konforme, zustandslose Web-Apps ermöglicht werden, die in einigen Fällen automatisch aus der nicht fortsetzungsbasierten Version des Programms generiert werden können.

Von "WASH / CGI: Server-seitiges Web Scripting mit Sitzungen und typisierten, kompositorischen Formularen": ( 2001):

  

Die Hauptidee besteht darin, eine Fortsetzung zu verwenden, um eine Momentaufnahme des Zustands zu machen   des Skripts nach dem Senden des Formulars an den Browser. Diese Fortsetzung   wird dann auf dem Server gespeichert und das Formular enthält einen Schlüssel für später   Abruf der Fortsetzung.

Eine moderne Beschreibung des Ansatzes finden Sie in dem MFlow Monad Reader im Überblick.

    
Don Stewart 31.12.2014 11:28
quelle

Tags und Links