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.

1. http://hackage.haskell.org/package/regular

2. http://github.com/chriseidhof/regular-web/blob/master/Example.lhs

Example

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

Properties

Versions0.1, 0.1.1
Dependenciesapplicative-extras, base (==4.*), fclabels (>=0.4.2), formlets (==0.6.1), json (>=0.4.3), mtl, regular (>=0.1.0.2), xhtml
LicenseBSD3
Copyright(c) Chris Eidhof
AuthorChris Eidhof
MaintainerChris Eidhof <chris+hackage@eidhof.nl>
CategoryGenerics, Web
Home pagehttp://github.com/chriseidhof/basil
Upload dateSat Mar 20 16:09:42 UTC 2010
Uploaded byChrisEidhof
Downloads130 total (12 in last 30 days)

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees