[web-devel] Re: consolidating Haskell's web-framework scene

Michael Snoyman michael at snoyman.com
Mon Mar 15 11:11:14 EDT 2010

And part 2:

Yesod is still missing a model layer. This is a project that I will most
likely be doing myself, since it will need to be designed to integrate very
closely with Yesod, but I'll mention some of the design ideas here. (By the
way, Chris Eidhof has a package on Github called Basil which looks very
interesting here.)

1) I want to use YAML quasi-quoting to define the models.
2) I don't want a super-complex "object relational mapping"; Haskell is
already much closer to the relational level than an OO language.
3) Utilize IO thunks (ie, lazy IO loading) so that we don't need to load
everything into memory at the beginning.
4) Not tied down to SQL *or* in-memory databases. It should support both of
those, but *also* support a system that is usable even in a CGI setup. I'm
contemplating now a database that uses multiple directories/files and uses
append-only to avoid concurrency issues.

Compile-time checking of templates would be great. The Bravo package looks
interesting, but I'm a little dubious about the approach used. I think
something based on typeclasses might be a bit more nimble. Once again, tight
integration with the model system I theoretically design would be nice.

So, in summary of a much-too-long e-mail, let's not bother trying to get
everyone to agree on One Framework. Happs has its place, Yesod has its
place, and I know others are using Loli and probably Kibro. (I'm not sure if
anyone every got started with Turbinado.) However, we can raise the bar for
*all* packages simultaneously by making a more solid ecosystem of Haskell
web packages available that any framework can cherry-pick from.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/web-devel/attachments/20100315/dd35cd8a/attachment.html

More information about the web-devel mailing list