[web-devel] Where do you start?

Paul Brown paulrbrown at gmail.com
Thu Nov 20 03:51:52 EST 2008


Hi, Артем —

Some thoughts.  (And in the interest of disclosure, I'm one of the  
D.I.Y. crowd.)

> I tried HVAC, which doesn't build on GHC 6.10.1 (if somebody's  
> interested, I'll post some compiler complaints). I really like its  
> approach, though.

Try the compiler complaints on #haskell or take them straight to the  
HVAC maintainer/creator.  FWIW, I only had to change the base version  
constraint in my .cabal files to get things building and working on  
6.10.1.

> Then I tried to DIY: wired Haskell to Lighty using FastCGI. This  
> approach works, but leaves very much to desire: XHTML combinators  
> don't really give you compile-time validation, so what is the point  
> of writing it in code? I had thought I'd need some templating, so I  
> tried HStringTemplate to find that it doesn't build on my GHC (BTW,  
> this templating engine has some neat concepts, which I like :-)).

Are you looking for an XHTML library that's stricter in terms of  
compile-time validation?  I agree that it can let you do silly things  
at present (e.g., <a><a><a>...</a></a></a>), but I've always found  
those things to be issues with underlying code (and thus separately  
testable/excludable).

> I found out that WASH uses CGI, which is sooo retro. Is it just my  
> misunderstanding, maybe?

The difference between FastCGI and CGI, from a practical point of  
view, is that the application process in a FastCGI application is long- 
lived while the application process in a CGI application lives only  
for the request.

> There's also a question regarding which DBC library to use. Hackage  
> has Takusen, HaskellDB, HDBC, HSQL. So which one?

I've had good luck with HDBC and SQLite3.

> I'd be very glad if somebody gave an advice to a noob Haskell web  
> programmer. :)

In realistic terms, there are only noob Haskell web programmers, but  
we're coming along as a community.  You might find some interesting  
things in the FastCGI-based hpaste version:

http://github.com/glguy/hpaste/tree/master

BEst.

-- Paul


More information about the web-devel mailing list