<div dir="ltr">I won&#39;t argue with that sentiment: I think Yesod includes more features than Happstack or Snap, and therefore it will take more time to learn. For that matter, PHP has a lower learning curve than anything in Haskell. But I&#39;m almost certain that on any decently sized project, all three of the above-mentioned Haskell frameworks give better productivity than PHP.<div>

<br></div><div>Michael<br><br><div class="gmail_quote">On Tue, Apr 5, 2011 at 10:25 PM,  <span dir="ltr">&lt;<a href="mailto:vagif.verdi@gmail.com">vagif.verdi@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Sorry, for double email. I hate my KMail.<br>
<div class="im"><br>
I think by &quot;freedom&quot; people often mean &quot;how fast can i be comfortable in the<br>
framework to start running around and do things.&quot; It is true that its much<br>
faster to start writing useful code in Snap than in Yesod. And that gives<br>
people the perception of freedom. Yesod requires substantial time investment.<br>
And even after that some of its parts are still behind the wall (persistence,<br>
widgets, subsites). Complex parts that are not documented.<br>
<br>
I spent quite some time to pick up Yesod, and i am glad that i did. But<br>
looking back i realize that because i am not using many of the features of<br>
Yesod (persistence, widgets, subsites) i would probably get faster to the same<br>
place where i am with Snap and bolted in hamlet.<br>
<br>
On Tuesday, April 05, 2011 11:32:38 AM you wrote:<br>
</div><div><div></div><div class="h5">&gt; This probably isn&#39;t the right forum for expressing this thought, but here<br>
&gt; goes anyway:<br>
&gt;<br>
&gt; What exactly is the freedom that Yesod takes away from you? I know this<br>
&gt; idea gets passed around a lot: Yesod isn&#39;t &quot;really&quot; Haskell, Yesod is its<br>
&gt; own language, etc. But all of that is really just talking about some sugar<br>
&gt; that Yesod puts in place for you: under the surface, it&#39;s just functions,<br>
&gt; data types and type classes. You can go ahead and write a complete Yesod<br>
&gt; application without using Template Haskell of QuasiQuotation.<br>
&gt;<br>
&gt; So what&#39;s the restriction that Yesod has that Happstack/Snap don&#39;t? Yesod<br>
&gt; requires you to provide some datatypes. That&#39;s it. What&#39;s the purpose of<br>
&gt; the datatypes? Mostly, it&#39;s about type-safe URLs. I&#39;m not exactly sure why<br>
&gt; the term &quot;restriction&quot; or &quot;freedom&quot; even applies here: Yesod has a<br>
&gt; *feature* that Happstack/Snap do not include out of the box.<br>
&gt;<br>
&gt; Let me phrase this in a different way: &quot;But I don&#39;t like Haskell, because<br>
&gt; the idea of Python in more interesting for me. Python gives you some<br>
&gt; freedom.&quot; I really do see this as the same argument. You can go ahead and<br>
&gt; right some code without static type checking in Python, and you might even<br>
&gt; write it faster than you would have in Haskell. But go ahead and start<br>
&gt; making changes, and unless you have some very good unit tests, you&#39;re in<br>
&gt; for a world of hurt. In Haskell, often times the compiler will save you<br>
&gt; from yourself.<br>
&gt;<br>
&gt; The same is true in Yesod. I&#39;ve refactored incredibly large codebases, with<br>
&gt; hundreds of different resource patterns, and *never* had to worry about<br>
&gt; 404s. Maybe some people consider that giving up freedom. I consider it<br>
&gt; giving up the freedom to shoot yourself in the foot.<br>
&gt;<br>
&gt; Oh, and if you are absolutely dependent on the idea of getting rid of this<br>
&gt; data-type requirements, and want all the freedom of dynamic routes, you can<br>
&gt; try out a 44 line module[1] that I mentioned recently[2].<br>
&gt;<br>
&gt; OK, enough of this rant. I&#39;m not trying to attack you, I&#39;m just tired of<br>
&gt; this notion that Yesod is a ball-and-chain around your ankles. People can<br>
&gt; have legitimate reasons to prefer Happstack or Snap to Yesod, I&#39;ve never<br>
&gt; claimed that it was a perfect framework for everyone. I just don&#39;t think<br>
&gt; this is one of those legitimate reasons.<br>
&gt;<br>
&gt; Michael<br>
&gt;<br>
&gt; [1] <a href="https://gist.github.com/884802" target="_blank">https://gist.github.com/884802</a><br>
&gt; &lt;<a href="https://gist.github.com/884802" target="_blank">https://gist.github.com/884802</a>&gt;[2]<br>
&gt; <a href="http://osdir.com/ml/general/2011-04/msg02160.html" target="_blank">http://osdir.com/ml/general/2011-04/msg02160.html</a><br>
&gt;<br>
&gt; On Tue, Apr 5, 2011 at 8:35 PM, Alexey G &lt;<a href="mailto:kreed131@gmail.com">kreed131@gmail.com</a>&gt; wrote:<br>
&gt; &gt; Hello. It&#39;s very interesting theme for me and I want to express my<br>
&gt; &gt; opinion.<br>
&gt; &gt; Yesod - very fast web-framework(<br>
&gt; &gt; <a href="http://www.yesodweb.com/blog/preliminary-warp-cross-language-benchmarks" target="_blank">http://www.yesodweb.com/blog/preliminary-warp-cross-language-benchmarks</a>).<br>
&gt; &gt; But I don&#39;t like Yesod, because idea of Happstack more interesting for<br>
&gt; &gt; me. Happstack gives to you some freedom.<br>
&gt; &gt;<br>
&gt; &gt; I trying to use Snap Framework now. And it&#39;s very good for me. Try it<br>
&gt; &gt; <a href="http://snapframework.com/" target="_blank">http://snapframework.com/</a>!<br>
&gt; &gt;<br>
&gt; &gt; Sorry for my english.<br>
&gt; &gt;<br>
&gt; &gt; 2011/4/5 Ramy Abdel-Azim &lt;<a href="mailto:ramy.abdelazim@gmail.com">ramy.abdelazim@gmail.com</a>&gt;<br>
&gt; &gt;<br>
&gt; &gt;&gt; I already posted about this a little bit but i think i should let the<br>
&gt; &gt;&gt; old thread get back to it&#39;s regularly scheduled conversaion. on to my<br>
&gt; &gt;&gt; question:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; So I know there are a million easier ways to createa  blog (wordpress,<br>
&gt; &gt;&gt; django, drupal, etc. etc.) but which would you recommend I use to build<br>
&gt; &gt;&gt; a beginner website that is simliar to a blog: happstack or yesod? _Ramy<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; _______________________________________________<br>
&gt; &gt;&gt; Beginners mailing list<br>
&gt; &gt;&gt; <a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
&gt; &gt;&gt; <a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Beginners mailing list<br>
&gt; &gt; <a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
&gt; &gt; <a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
<br>
</div></div>_______________________________________________<br>
web-devel mailing list<br>
<a href="mailto:web-devel@haskell.org">web-devel@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/web-devel" target="_blank">http://www.haskell.org/mailman/listinfo/web-devel</a><br>
</blockquote></div><br></div></div>