MFlow: Web application server with stateful, type safe user interactions and widget combinators.

[ application-server, bsd3, library, web ] [ Propose Tags ]

Simple application server with stateful request-response flows, persistent and transparent session handling. server process management, combinators for the definition of widgets and formlets that can be mixed freely with HTML formatting and produce statically typed web applications. Adopt and extend the best formlet/applicative Haskell traditions Console and window oriented apps are possible.

MFlow (MessageFlow) was created initially as the user interface for the Workflow package Currently is an alpha version. It has only basic authentication but I plan to inprove it for serious applications.

It includes Application Server features such is resource an process management and automatic recovery

Resource management: The user can define process and session timeout. The process is automatically rerun after timeout if a new request arrive with transparent recovery of state, at the point of the interrupted dialog even after server crash.

The backend operation relies on the Workflow package ("http://hackage.haskell.org/package/Workflow/index"), this gives transparent sessión persistence and recovery, all of this is supported by TCache ("http://hackage.haskell.org/package/TCache/index"), that gives backend-independent transactions and can be used directly by the programmer. Persistence in files for session and data out of the box enables very fast prototyping.

All the plumbing is hidden to the programmer, There are no methods for session management, database query, recovery and so on. All of this is transparent So the surface exposed to the programmer is minimal.

Includes generalized formlets that permits the mix of active widgets in the same page while remaining statically typed and, thus the programs can verify correctness at compilation time.

Includes combinators for seamless inclusion of these widgets within user defined HTML formatting. Bindings for Text.XHtml. The widget generation may be easy for user with familiarity with formlets/digestive functors and Text.XHtml formatting.

Currently it has bindings for the Hack interface

Streaming facilities.

To do:

Bindings for HSP

Clustering

Other bindigs for Hack alternatives

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.0, 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.5.1, 0.0.5.2, 0.0.5.3, 0.1.5.0, 0.1.5.1, 0.1.5.2, 0.1.5.3, 0.1.5.4, 0.1.5.5, 0.2.0.0, 0.2.0.1, 0.2.0.2, 0.2.0.3, 0.2.0.4, 0.2.0.5, 0.2.0.6, 0.2.0.7, 0.2.0.8, 0.2.0.9, 0.3.0.0, 0.3.0.1, 0.3.0.2, 0.3.1.0, 0.3.1.1, 0.3.2.0, 0.3.3, 0.4.0, 0.4.1, 0.4.2, 0.4.4, 0.4.5, 0.4.5.1, 0.4.5.2, 0.4.5.3, 0.4.5.4, 0.4.5.5, 0.4.5.6, 0.4.5.7, 0.4.5.8, 0.4.5.9, 0.4.5.10, 0.4.5.11, 0.4.5.12, 0.4.5.13, 0.4.6.0
Dependencies base (>4.4 && <4.6), bytestring, containers, extensible-exceptions, hack, hack-handler-simpleserver, mtl, old-time, RefSerialize (>=0.2.8.1 && <0.2.9), stm (>2), TCache (>=0.9.0.2 && <0.9.1), transformers, vector, Workflow (>=0.6.0.0 && <0.6.1), xhtml [details]
License BSD-3-Clause
Author Alberto Gómez Corona
Maintainer agocorona@gmail.com
Category Web, Application Server
Uploaded by AlbertoCorona at 2012-02-09T08:22:37Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 47196 total (121 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]