Incidentally, Snap uses the non-free ND license for its website docs, so
that is not an improvement (Yesodweb is freely licensed except for the
Yesod book because Snoyman signed with O'Reilly that the book would be
ND, which Snoyman would be happy to change if we could convince O'Reilly
to let him).

Further looking at Heist further leads it to seem quite inferior to
Hamlet. There's nothing in Heist that I've seen which I would prefer and
a lot I dislike.

I would still be curious what lessons we could otherwise learn from
looking at other aspects of Snap. Nothing in the docs jumps out as
interesting to me…

On 06/18/2015 09:04 AM, Greg Hale wrote:
> Hey [Dev],
> 
> Thanks Aaron that's a very good summary of my stance. You have a really
> impressive body of work, and it leans heavily on Yesod features and
> reflects the Yesod/Snoyman/FPComplete aura. Switching frameworks would
> be a complete rewrite - not something you probably want to do right now!
> 
> That said, writing in Snap and maintaining a Snap site feels like
> writing Haskell and maintaining a Haskell library, and those things have
> their benefits too - if you haven't already, it's worth a serious look
> (and probably even having an entire Snap app side-project), for cultural
> enrichment.
> 
> If you're curious about any particular Snap-inspired decisions might
> play out (how does Heist work out in the large? what would happen if we
> ditched templating altogether and used Lucid instead?) I'd be happy to
> share my experiences there. I'd also hazard a guess that Snap apps age
> better, given the tighter integration with cabal, Hackage, the PVP.
> 
> Oh and yes it is true that my ability/interest in contributing on
> Snowdrift is hampered a little by the mismatch between my aesthetic
> preferences and the Yesod choice but I'm just a small-fry, so don't
> worry about that. And the Snowdrift idea itself is a bigger factor than
> framework choice, so I'll contribute if I have time, especially if the
> 7.10 Persistent migration bug gets ironed out. In the spirit of the
> 'Working Together' blog post it would be neat to see how perspectives
> can intermingle. http://www.yesodweb.com/blog/2012/04/working-together
> 
> My humble vote would be that we agree on the non-controversial point
> that there's a lot of room for cross-fertilization by seeing how the
> other sides do things, and that a Snap port may just be an idea to keep
> on the back burner if there's ever a Snowdrift 2.0.  ... unless of
> course there is a mass stirring now among the core contributors and
> there is a strong itch to try a rewrite.
> 
> -Greg
> 
> On Thu, Jun 18, 2015 at 8:43 AM, Jason Harrer <jazzyeagl...@gmail.com
> <mailto:jazzyeagl...@gmail.com>> wrote:
> 
>     Hi, Aaron -
> 
>     I just did a quick scan of the Snap documentation.  I have two quick
>     initial reactions:
> 
>     1) Although Snap appears to be somewhat simpler, it doesn't
>     necessarily appear to be better laid out than Yesod.  It will most
>     likely require extra lines of code to perform the same tasks in Snap
>     as we currently do in Yesod.  The appeal to me would be that it looks
>     like we're working within one Monad and not multiple Transformative
>     Monads, which would make things much simpler to at least comprehend,
>     if not implement.
> 
>     2) Even if it were much simpler, you're talking about a COMPLETE
>     rewrite of pretty much the ENTIRE site.  Even if a switch to Snap
>     would be viewed as a good thing, this should be more of a
>     Snowdrift.coop 2.0 type of decision.  You're most likely be looking at
>     pushing out launch by months, if not years, by switching to Snap so
>     late in the game.
> 
>     Ultimately, whether or not it's a good idea in the long run, I don't
>     know.  Whether or not it's a good idea to do right now, the answer
>     from me would be not a chance.  Should everyone else think we need to
>     consider this more heavily, I'm more than willing to look over the
>     documentation more closely and form a more informed opinion at that
>     time.
> 
>     - Jason
> 
> 
>     On Wed, Jun 17, 2015 at 11:39 PM, Aaron Wolf <aa...@snowdrift.coop
>     <mailto:aa...@snowdrift.coop>> wrote:
>     > 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 <mailto:Dev@lists.snowdrift.coop>
>     > https://lists.snowdrift.coop/mailman/listinfo/dev
>     _______________________________________________
>     Dev mailing list
>     Dev@lists.snowdrift.coop <mailto:Dev@lists.snowdrift.coop>
>     https://lists.snowdrift.coop/mailman/listinfo/dev
> 
> 

-- 
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