So, Greg Hale suggested that if Snowdrift.coop were to switch to Snap
(which he acknowledged probably doesn't make sense and would distract
from moving forward mainly), he'd be happy to help refactor to make it
happen. He's still up for helping otherwise, but I wanted to just
discuss briefly the issue for my own edification at least.

Obviously, I'm not the experienced coder, so I have no business having a
real opinion here. The experienced folks on the team have their views —
David chose Yesod without real knowledge about the pros and cons I
believe. Other people have expressed mixed feelings and certainly some
criticism of the amount of template Haskell in Yesod. However, here's
what I like about Yesod:

* Hamlet and Cassius template languages are superb, eliminate extraneous
junk, very flexible, very beginner-friendly

* Type-safe URLs and other stuff maximizing strong typing throughout so
everything is compile-time checked

I have little opinion about the rest of it, although the routes
structure and model setup is reasonable enough for me.

I know little about Snap, but I have seen that it is the one other
active, robust framework. Happstack is more minimal and effectively
feature complete so has seen little activity in a couple years. Really,
for robust and active projects, it's Snap or Yesod.

I saw a post in which the Snap developer emphasized the modularity of
things. I.e. it's possible to use Yesod's Shakespearean templates
(Haskell, Cassius) with other things from Snap. To some degree, if we
can really pick and choose, then there *might* be reason enough to
consider some modules / pieces of Snap and utilize them even if our core
remains Yesod…

Without much real investigation, I do not particularly like Snap's Heist
framework, certainly I love Hamlet so that's not worth much discussion
unless anyone can point out really great things about Heist that would
be interesting.

On the surface level, the only thing about Snap's claims about itself
that seem really compelling is that it claims to be really beginner
friendly, even to beginning Haskellers…

So, I'm hoping to just learn some about this and be open to considering
the issues. Certainly if we *ever* consider any of this, better sooner
than later. But mostly, I'm just curious. I feel like understanding what
people like about Snap will be insightful and valuable even if we make
no change and stick to all the core Yesod stuff.

Cheers,
Aaron

-- 
Aaron Wolf Snowdrift.coop <https://snowdrift.coop>
_______________________________________________
Dev mailing list
Dev@lists.snowdrift.coop
https://lists.snowdrift.coop/mailman/listinfo/dev

Reply via email to