MFlow-0.0.2: MFlow.cabal
name: MFlow
synopsis: (Web) application server. Stateful server processes. Simple, statically correct widget combinators.
version: 0.0.2
cabal-version: -any
build-type: Simple
license: BSD3
license-file: LICENSE
copyright:
maintainer: agocorona@gmail.com
build-depends: Workflow >=0.6.0.0 && < 0.6.1, transformers -any, mtl -any,
extensible-exceptions -any, xhtml -any, base > 4.4 && < 4.6,
hack -any, hack-handler-simpleserver -any, bytestring -any,
containers -any
, RefSerialize >= 0.2.8.1 && < 0.2.9
, TCache >= 0.9.0.2 && < 0.9.1
, stm >2,
old-time -any,
vector -any
stability: experimental
homepage:
package-url:
bug-reports:
description: 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.
.
Examples included
.
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 is 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
category: Web, Application Server
author: Alberto Gómez Corona
tested-with:
data-files:
data-dir: ""
extra-source-files: Demos/ShoppingCart1.hs
extra-tmp-files:
exposed-modules:
MFlow.Forms
MFlow.Hack
MFlow.Forms.XHtml
MFlow.Hack.XHtml
MFlow.Hack.XHtml.All
other-modules: MFlow
MFlow.Cookies
MFlow.Hack.Response
exposed: True
buildable: True
build-tools:
cpp-options:
cc-options:
ld-options:
pkgconfig-depends:
frameworks:
c-sources:
default-language:
other-languages:
default-extensions:
other-extensions:
extensions:
extra-libraries:
extra-lib-dirs:
includes:
install-includes:
include-dirs:
hs-source-dirs: .
ghc-prof-options:
ghc-shared-options:
ghc-options:
hugs-options:
nhc98-options:
jhc-options: