The regular-web package

[Tags: bsd3, library]

This package implements generic functions for web programming. Based on the regular library [1], we provide generic functions for generating HTML, Formlets, and JSON. For a larger example, see the Example.lhs [2] file on github.




Consider the following datatypes:

 data Person = Person
     _name   :: String
   , _age    :: Int
   , _isMale :: Bool
   , _place  :: Place

 data Place = Place
     _city      :: String
   , _country   :: String
   , _continent :: String

We can now derive a Regular instance for the Person datatype using Template Haskell:

 $(deriveAll ''Place  "PFPlace")
 $(deriveAll ''Person "PFPerson")
 type instance PF Place  = PFPlace
 type instance PF Person = PFPerson

We can construct an example person:

 location :: Place
 location = Place "Utrecht" "The Netherlands" "Europe"
 chris    :: Person
 chris    = Person "chris" 25 True location
 And, as an example, we can generate |HTML| and |JSON| values:
 locationHtml :: X.Html
 locationHtml = ghtml location
 personHtml :: X.Html
 personHtml = ghtml chris
 locationJSON :: JSValue
 locationJSON = gto location


Versions0.1, 0.1.1
Change logNone available
Dependenciesapplicative-extras, base (==4.*), fclabels (>=0.4.2), formlets (==0.6.1), json (>=0.4.3), mtl, regular (>=, xhtml [details]
Copyright(c) Chris Eidhof
AuthorChris Eidhof
MaintainerChris Eidhof <>
CategoryGenerics, Web
Home page
UploadedSat Mar 20 16:13:42 UTC 2010 by ChrisEidhof
Downloads356 total (19 in last 30 days)
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]




Maintainers' corner

For package maintainers and hackage trustees