[web-devel] Re: ANNOUNCE: yesod 0.2.0

Michael Snoyman michael at snoyman.com
Mon May 24 12:59:06 EDT 2010

On Mon, May 24, 2010 at 7:47 PM, Chris Smith <cdsmith at gmail.com> wrote:

> Just one comment (in a few parts).
> On Mon, 2010-05-24 at 17:47 +0300, Michael Snoyman wrote:
> > I would say that Yesod and Snap are very orthogonal projects. Without
> > offense to the Snap authors, I don't really think Snap is a framework;
> > it's much more low-level than that.
> That seems to be overstating the case a bit.  Snap is designed to write
> applications directly on top of it, and in that sense acts as a
> framework.  Some of the difference you're seeing likely comes down to
> preference about how heavy the "framework" ought to be.
> > * Yesod has type-safe URLs, I don't believe Snap has any similar
> > feature. However, as I mentioned already, Snap is lower level than
> > Yesod, so you could easily implement type-safe URLs on top of Snap.
> Snap does provide a form of routing requests, and even of parsing data
> from the contents of the URL.  It looks to be based on combinators
> similar to what Happstack does, with the exception that capturing
> variables from URLs is done in a relatively braindead way by adding
> special syntax with colons inside strings.
> The point here is, Snap does something different; not necessarily
> something worse.  We all have our preferences.  Treating Snap as a new
> underlying server implementation on top of which to layer WAI and Yesod
> is possible, but rather missing the point.  Much of what I get from Snap
> is that we can dispense with some of the unnecessary complexity and just
> solve problems.
> Then again, I've also built three or four significant internally used
> web applications with Happstack, and have yet to use happstack-state for
> anything but working through tutorials.  Could be I'm just afraid of
> change...
> I think you read my e-mail a little too harshly. Let me rephrase:

* The feature set Snap has right now does not qualify it as a framework *in
my mind*. If someone asks to compare the features of Snap and Yesod, there's
not much to say. I'm well aware of the subjectivity of the term framework,
I'm merely saying that by the criteria I know, and which I think most people
are used to, Snap does not provide the features of a framework.

* I'm well aware of Snap's routing abilities, but it still does not support
type-safe URLs. You may not want type-safe URLs, that's fine. But I can't
compare Yesod's implementation of them versus Snap's, simply because the
latter is absent.

If you see Snap as a great way to write applications without complications,
go for it, I think that's great. For people that want features that Yesod
provides, I think it will be nice to have a fast server to run on top of.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/web-devel/attachments/20100524/80b90822/attachment.html

More information about the web-devel mailing list