MFlow: Web app server for stateful processes with safe, composable user interfaces.
It is a Web framework with some unique features thanks to the power of the Haskell language. MFlow run stateful server processes. Because flows are stateful, not event driven, the code is more understandable, because all the flow of request and responses is coded by the programmer in a single function. Allthoug single request-response flows and callbacks are possible.
Technically it is a Web application server for stateful processes (flows) that are optionally persistent. These processes interact with the user trough interfaces made of widgets that return back statically typed responses to the calling process. All is coded in pure haskell (with optional XML from Haskell Server Pages). It adopt and extend the formlet/applicative approach. It has bindings for HSP and Text.XHtml
It includes Application Server features such is process and session timeouts and automatic recovery of flow execution state.
This release add transparent back button management, cached widgets, callbacks, modifiers, heterogeneous formatting AJAX, and WAI integration.
It is designed for coding an entire application in a single file to be run with runghc in order to speed up the prototyping process.
See MFlow.Forms for details
Altroug still it is experimental, it is used in at least one future commercial project. So I have te commitment to continue its development. There are many examples in the documentation and in the package.
For package maintainers and hackage trustees