[Haskell-cafe] ANN: loli: a minimal web dev DSL
Jinjing Wang
nfjinjing at gmail.com
Mon Jun 29 10:18:18 EDT 2009
loli is a DSL built on hack. It allows you to easily define routes,
build your custom template backends through a simple Template
interface, and integrate with other hack middleware.
* driver
The simplest app looks like this
import Network.Loli
import Hack.Handler.Happstack
main = run . loli $ get "/" (text "loli power")
* route
get "/hello" $ do
text "hello"
will route "/hello" to a controller that outputs hello.
* middleware
using a middleware is just as declaring
middleware lambda
* template
the template interface is
class Template a where
interpolate :: a -> String -> Context -> IO String
Context is just [(String, String)]
After implementing your own template engine, you can use
output $ your-engine-constructor "template-name"
* demo
I put the source of a dummy paste app on itself:
<http://lolipaste.easymic.com/00000-lolipaste.haskell>
loli is on hackage, lolipaste is in loli repo on github:
* <http://github.com/nfjinjing/loli>
happy hacking
--
jinjing
More information about the Haskell-Cafe
mailing list