<div dir="ltr">This probably isn&#39;t the right forum for expressing this thought, but here goes anyway:<div><br></div><div>What exactly is the freedom that Yesod takes away from you? I know this idea gets passed around a lot: Yesod isn&#39;t &quot;really&quot; Haskell, Yesod is its own language, etc. But all of that is really just talking about some sugar that Yesod puts in place for you: under the surface, it&#39;s just functions, data types and type classes. You can go ahead and write a complete Yesod application without using Template Haskell of QuasiQuotation.</div>

<div><br></div><div>So what&#39;s the restriction that Yesod has that Happstack/Snap don&#39;t? Yesod requires you to provide some datatypes. That&#39;s it. What&#39;s the purpose of the datatypes? Mostly, it&#39;s about type-safe URLs. I&#39;m not exactly sure why the term &quot;restriction&quot; or &quot;freedom&quot; even applies here: Yesod has a *feature* that Happstack/Snap do not include out of the box.</div>

<div><br></div><div>Let me phrase this in a different way: &quot;But I don&#39;t like Haskell, because the idea of Python in more interesting for me. Python gives you some freedom.&quot; I really do see this as the same argument. You can go ahead and right some code without static type checking in Python, and you might even write it faster than you would have in Haskell. But go ahead and start making changes, and unless you have some very good unit tests, you&#39;re in for a world of hurt. In Haskell, often times the compiler will save you from yourself.</div>

<div><br></div><div>The same is true in Yesod. I&#39;ve refactored incredibly large codebases, with hundreds of different resource patterns, and *never* had to worry about 404s. Maybe some people consider that giving up freedom. I consider it giving up the freedom to shoot yourself in the foot.</div>

<div><br></div><div>Oh, and if you are absolutely dependent on the idea of getting rid of this data-type requirements, and want all the freedom of dynamic routes, you can try out a 44 line module[1] that I mentioned recently[2].</div>

<div><br></div><div>OK, enough of this rant. I&#39;m not trying to attack you, I&#39;m just tired of this notion that Yesod is a ball-and-chain around your ankles. People can have legitimate reasons to prefer Happstack or Snap to Yesod, I&#39;ve never claimed that it was a perfect framework for everyone. I just don&#39;t think this is one of those legitimate reasons.</div>

<div><br></div><div>Michael</div><div><br></div><div>[1] <meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="https://gist.github.com/884802">https://gist.github.com/884802</a></div><div><a href="https://gist.github.com/884802"></a>[2] <meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="http://osdir.com/ml/general/2011-04/msg02160.html">http://osdir.com/ml/general/2011-04/msg02160.html</a><br>

<br><div class="gmail_quote">On Tue, Apr 5, 2011 at 8:35 PM, Alexey G <span dir="ltr">&lt;<a href="mailto:kreed131@gmail.com">kreed131@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;">

<font face="arial, sans-serif"><span style="border-collapse:collapse">Hello. It&#39;s very interesting theme for me and I want to express my opinion. </span></font><div>
<font face="arial, sans-serif"><span style="border-collapse:collapse">Yesod - very fast web-framework(<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>).</span></font></div>


<div><font face="arial, sans-serif"><span style="border-collapse:collapse">But I don&#39;t like Yesod, because idea of Happstack more interesting for me. Happstack gives to you some freedom.</span></font></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br></span></font></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse">I trying to use Snap Framework now. And it&#39;s very good for me. Try it </span></font><a href="http://snapframework.com/" target="_blank">http://snapframework.com/</a>!<span style="border-collapse:collapse;font-family:arial, sans-serif"> </span></div>


<div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br>
</span></font></div><div><font face="arial, sans-serif"><span style="border-collapse:collapse">Sorry for my english.<br>
</span></font><br><div class="gmail_quote"><div><div></div><div class="h5">2011/4/5 Ramy Abdel-Azim <span dir="ltr">&lt;<a href="mailto:ramy.abdelazim@gmail.com" target="_blank">ramy.abdelazim@gmail.com</a>&gt;</span><br>

</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class="h5">
I already posted about this a little bit but i think i should let the old thread get back to it&#39;s regularly scheduled conversaion. on to my question:<div><br></div><div>So I know there are a million easier ways to createa  blog (wordpress, django, drupal, etc. etc.) but which would you recommend I use to build a beginner website that is simliar to a blog: happstack or yesod?<div>



_Ramy</div>
</div>
<br></div></div>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br></div></div>