snoyberg / classy-prelude

A typeclass-based Prelude.
108 stars 15 forks source link

New package: classy-prelude-yesod #6

Closed snoyberg closed 11 years ago

snoyberg commented 12 years ago

Create a new package which exports all of the major features of Yesod, including Persistent. Some of the names involved (e.g., insert and delete) will collide, and therefore will need typeclass instances instead.

We should export commonly used helper modules as well, such as those from yesod-newsfeed. It's also worth considering @meteficha's esqueleto.

meteficha commented 12 years ago

esqueleto clashes with a lot of Database.Persist.Query's functions, so it can't be exported with Database.Persist. And that implies that even importing Yesod is kind of painful, see meteficha/esqueleto#1.

So IMHO we should export persistent as is, and include esqueleto and deprecate Database.Persist.Query on a future Yesod release (of course, only if esqueleto proves to be worthy of this honor in practice =], even I still hadn't the chance to do any production work using it). Thoughts?

snoyberg commented 12 years ago

I was thinking of letting classy-prelude-yesod be the testbed for equeleto. My idea was to hide all of the conflicting names from Database.Persist, and for some cases like delete and insert provide typeclass instances. If it all goes well, I agree that a future release could promote esqueleto into a more prominent position from the Persistent world itself.

snoyberg commented 11 years ago

I wimped out and took the easy approach for now without using esqueleto, though I'm open to changing that in the future.