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


Versions 0.1, 0.1.1
Dependencies applicative-extras, base (==4.*), fclabels (>=0.4.2), formlets (==0.6.1), json (>=0.4.3), mtl, regular (>=, xhtml [details]
License BSD3
Copyright (c) Chris Eidhof
Author Chris Eidhof
Maintainer Chris Eidhof <>
Category Generics, Web
Home page
Uploaded Sat Mar 20 16:09:42 UTC 2010 by ChrisEidhof
Distributions NixOS:0.1.1
Downloads 499 total (13 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees