Yesod in Production(joelt.io)
joelt.io
Yesod in Production
http://joelt.io/entries/yesod-in-production
1 comments
Well, you have http://hackage.haskell.org/package/esqueleto , that while not all-mighty-powerfull, it does allow for useful joins otherwise not available in the 'standard' Persistent API, while being compatible with it.
Snap has the same problem. If anything, Yesod is where you're the least on your own because of the Persistent integration.
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.
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.
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).