MFlow: Web app server for stateful processes with safe, composable user interfaces.

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

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 isolated request-responses, 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 process that sent the interface (including links). The process is coded in pure haskell (with optional XML from Haskell Server Pages). It adopt and extend the formlet/applicative approach. The interfaces and communication are abstract, but it has bindings for HSP, Text.XHtml and byteString , Hack and WAI but it can be extended to non Web based architectures.

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 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 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.

To do:

Versions [faq] 0.0.0, 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5,,,,,,,,,,,,,,,,,,,,,,,,,, 0.3.3, 0.4.0, 0.4.1, 0.4.2, 0.4.4, 0.4.5,,,,,,,,,,,,,,
Dependencies base (>4.0 && <5), bytestring, case-insensitive, conduit, containers, directory, extensible-exceptions, http-types, mtl, old-time, parsec, RefSerialize, stm (>2), TCache, text, transformers, utf8-string, vector, wai, warp, Workflow, xhtml [details]
License BSD-3-Clause
Author Alberto Gómez Corona
Category Web, Application Server
Source repo head: git clone
Uploaded by AlbertoCorona at Mon Sep 17 21:56:45 UTC 2012
Distributions NixOS:
Downloads 26302 total (969 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-12-24 [all 8 reports]


  • MFlow
    • MFlow.Cookies
    • MFlow.FileServer
    • MFlow.Forms
      • MFlow.Forms.Admin
      • MFlow.Forms.Ajax
      • MFlow.Forms.XHtml
    • MFlow.Wai
      • MFlow.Wai.Response
      • XHtml
        • MFlow.Wai.XHtml.All


Maintainer's Corner

For package maintainers and hackage trustees