And part 2:<div><br></div><div><div>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&#39;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.)</div>
<div><br></div><div>1) I want to use YAML quasi-quoting to define the models.</div><div>2) I don&#39;t want a super-complex &quot;object relational mapping&quot;; Haskell is already much closer to the relational level than an OO language.</div>
<div>3) Utilize IO thunks (ie, lazy IO loading) so that we don&#39;t need to load everything into memory at the beginning.</div><div>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&#39;m contemplating now a database that uses multiple directories/files and uses append-only to avoid concurrency issues.</div>
<div><br></div><div><br></div><div>Compile-time checking of templates would be great. The Bravo package looks interesting, but I&#39;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.</div>
<div><br></div><div><br></div><div>So, in summary of a much-too-long e-mail, let&#39;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&#39;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.</div>
</div>