Hacker News new | ask | show | jobs
by LukeHoersten 4548 days ago
Great question.

1) Snap is super simple. It's not overdone with metaprogramming etc so it's easy to understand and debug, but it's not so simple that you have to reinvent the wheel all the time.

2) Heist, the templating engine, is super simple and powerful. It subscribes to the idea that control flow should be in Haskell and HTML/XML in the template. It's proven to scale EXTREMELY well.

3) Performance. Snap server has really performed well in production for me. Low memory and CPU usage, fast, etc. Right now I'm just running on a micro EC2 and it's not breaking a sweat under the HN load.

4) Digestive functors is a GODSEND for handling forms. It really looks like Haskell's the perfect language for form processing when you use it compared to other frameworks. It also has features like dynamic lists w/ automatic JS which many other frameworks don't support.

5) Snap is the perfect blend of simple + featureful (framework + libraries). It easily competes with microframeworks in simplicity and the heavy weight frameworks when you need the functionality.

There's a great SO post with more detail from the authors of both Snap and Yesod: http://stackoverflow.com/questions/5645168/comparing-haskell... Jump on IRC Freenode #snapframework for discussion. The community is great and really open to all frameworks and language discussion.

1 comments

Yesod is more popular, faster, has more users, plugins, etc., but is indeed more like Rails than Snap. If you're looking at the simplistic end of the scale, i.e. similar to Sinatra, take a look at Scotty.