

Yesod in Production - jcurbo
http://joelt.io/entries/yesod-in-production

======
mercurial
I have to say that I've seen of Snap looked a lot closer to my favourite
framework, Flask, than what I've seen of Yesod. The big problem, IMHO, is the
lack of a good multi-database persistence story for Haskell. You have several
good, mid-level database layers ({mysql,postgres,sqlite}-simple), but they
don't even offer a common interface. And HDBC's performance, from what I could
read, is not really top notch.

And then you have Persistent, which works in its own monad (I'm not sure if it
works as a second level cache, because it's not terribly well documented) and
with a good helping of Template Haskell tries to be an ORM. Unfortunately,
it's not terribly powerful (numeric IDs only, no complex joins, and it doesn't
look like you're expected to write the mapping between your model and the
table(s) yourself, so forget about legacy databases).

~~~
thirsteh
Snap has the same problem. If anything, Yesod is where you're the least on
your own _because_ of the Persistent integration.

~~~
mercurial
Yesod is definitely more integrated (though you can use Persistent with Snap
too). But I don't think I want to surrender so much control to an "ORM" layer
which is not SQLAlchemy.

~~~
thirsteh
Okay, but that has nothing to do with Yesod vs. Snap, really. You don't have
to use Persistent in Yesod--it's just as easy to use HDBC if you want to.

