MFlow: Web app server for stateful processes with safe, composable user interfaces.
A Web framework with some unique features thanks to the power of the Haskell language. MFlow run stateful server processes; All the flow of requests and responses are coded by the programmer in a single function. Allthoug single request-response flows and callbacks are possible. Therefore, the code is more understandable.
These processes are stopped and restarted by the application server on demand, including its execution state. Therefore session management is automatic. State consistence and transactions are given by the TCache package.
The processes interact trough widgets, that are an extension of formlets with additional combinators, formatting, link management, callbacks, modifiers, caching, byteString conversion and AJAX. All is coded in pure haskell.
The interfaces and communications are abstract, but there are bindings for HSP, Text.XHtml and byteString , Hack and WAI but it can be extended to non Web based architectures.
This release add transparent back button management, cached widgets, callbacks, modifiers, heterogeneous formatting, AJAX, and WAI integration.
It is designed for applications that can be run with no deployment with runghc in order to speed up the development process.
See MFlow.Forms for details
Altroug still it is experimental, it is being 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