Yes, the spec is almost a direct translation from Rack. For middleware, I translated some from Rack, but it does not have to be a port. I'm just lazy.
Rack borrowed some basic middleware from WSGI too, like Lint. About the style, it's a bit weird, yes. But only in module scope ;) On Sat, Apr 25, 2009 at 7:00 PM, Sebastiaan Visser <sfvis...@cs.uu.nl> wrote: > What kind of port is this? Direct translation from ruby source? > > I see that you are using the (.) for OO-style reversed function application. > Which feels a bit weird at first sight. > > Snippet from your Hack.Handler.Kibro: > >>handle app = do >> env <- get_env >> response <- app env .liftIO >> >> -- set response >> response.headers.mapM_ (splash setHeader) >> response.status.show.setHeader "Status" >> response.body.output > > On Apr 25, 2009, at 7:58 AM, Jinjing Wang wrote: >> >> Hia, >> >> A few interesting progress on Hack: >> >> * many middleware ported from Rack, including a lambda! ( just like a >> pony for wsgi, and a lobster for rack ) >> * 2 handlers, one for Kibro on fcgi / lighttpd, one for Hyena web server >> * apps are portable, Bamboo is a port of Panda that runs on Hack, >> works fine with both handlers >> * Hyena handler is still experimental >> >> A lambda app looks like this >> >> -- Main.hs source >> >> module Main where >> >> import Hack >> import Hack.Utils >> >> import Hack.Handler.Hyena >> import Hack.Contrib.Lambda >> >> main = run $ lambda dummy_app >> >> -- compile >> >> ghc --make -O2 Main.hs >> >> -- run >> ./Main >> >> >> now go to http://localhost:3000/lambda >> >> Cheers, >> >> Links: >> >> * [Hack] (http://github.com/nfjinjing/hack/tree/master) >> * [Bamboo] (http://github.com/nfjinjing/bamboo/tree/master) > > -- jinjing _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe