<div>I have found my Yesod experience equal to other haskell libraries- it is simple and obvious after you have used it for a while (if you are familiar with the domain, which in this case is web development, including REST, MVC, and databases).</div>


<div><br></div><div><div>I am going to have to disagree with any vague assertion about Yesod being difficult to understand. I can only assume since you aren&#39;t giving any specific examples that you haven&#39;t used Yesod on a project. We know there are many places Yesod can be improved, but we know that from specific criticisms from Yesod users (which we welcome).</div>

<div><br></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8">I also find it very controversial to imply that Snap is less complex because it has less functionality. That may make the *framework* less complex, but it makes *applications* more complex if they need the missing functionality.</div>

<meta http-equiv="content-type" content="text/html; charset=utf-8">
</div><div><div><br></div><div>Again, I think the problem that you are others are encountering is an assumption that readers know a lot more about Yesod than they possibly could if they haven&#39;t used it. Lets encourage the community to present web-devel discussions in a little broader light that is easier for everyone to understand.</div>

<div><br></div><div>Greg Weber</div><div><br></div><div><div><div class="gmail_quote">On Tue, Jun 28, 2011 at 1:22 PM, Chris Smith <span dir="ltr">&lt;<a href="mailto:cdsmith@gmail.com" target="_blank">cdsmith@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"><div><p><br>
On Jun 28, 2011 9:16 AM, &quot;Greg Weber&quot; &lt;<a href="mailto:greg@gregweber.info" target="_blank">greg@gregweber.info</a>&gt; wrote:<br>
&gt; I would much rather revisit this issue in a month or so than keep this<br>
&gt; thread alive, but I feel the need to defend the good name of Yesod.<br>
&gt; Yesod libraries are no more complex than other Haskell libraries.</p>
</div><p>I&#39;m not sure where we have different definitions in mind; surely it can&#39;t be controversial that web application containers are far more complex than most other libraries.  Just look at the dependencies on any such project.  I&#39;d call it a fair statement that no one thought the problems of Cabal scaling to very large numbers of packages was much of a problem until web frameworks started being a big deal.  It also seems rather non-controversial to point out that Yesod includes a lot more here than other options; the Snap project, for example, happily proclaims itself to work at a level of abstraction analogous to servlets, and currently makes no attempt at solving persistence, form handling, and such.</p>




<p>In any case, sorry if that sounded like sullying the &quot;good name&quot; of Yesod.  I didn&#39;t even think it was particularly controversial.</p><div>
<p>&gt; The issue is simply that a Yesod thread assumes you have developed a web<br>
&gt; application in Yesod. Or if it is about implementation, it may assume you have<br>
&gt; looked at a library&#39;s internals. As you said, it isn&#39;t about your lack of *general* web<br>
&gt; development knowledge. It is a lack of Yesod *specific* knowledge.</p>
</div><p>Yes, that&#39;s precisely my point.  I can think of very few other domains of Haskell programming where having not used a specific library even if you&#39;re familiar with the kind of problem it solves causes discussion about that library to look about as meaningful as ancient heiroglyphics.  OpenGL would be one, as well as GHC internals.  I&#39;m having trouble finding other examples.</p>




<p>Again, this isn&#39;t a dig at Yesod... I don&#39;t think *anyone* has found a good way to build a web application framework that&#39;s both simple and obvious to understand and solves the hard problems.  I think it&#39;s at least partly endemic to the problem domain.</p>




<p>-- <br><font color="#888888">
Chris Smith</font></p>
</blockquote></div><br></div></div></div>