I&#39;m definitely interested in Yesod, and it&#39;s currently at the top of my rather short list of possibilities, but the relatively immaturity does worry me a bit, in particular as it pertains to my fourth requirement. I&#39;m not opposed to making updates from time to time to keep the site current with the latest release, but I want to avoid having to constantly tweak things, and most importantly I don&#39;t want to end up in the situation where a year or two down the line the entire framework gets deprecated and I essentially endup having to re-write the entire site from scratch.<br>
<br>I should probably stress that I&#39;m a relatively newbie to Haskell, and there&#39;s still a few things that I&#39;m trying to get my head around. In particular I haven&#39;t had much chance to really look at TH, and my understanding of monads is a bit rocky in places although I&#39;ve got the basic principle worked out. I&#39;m further hampered in that I&#39;m working on this project and other Haskell related things in my spair time which is rather lacking at the moment, so ease of understanding (I.E. good documentation) is a major bonus for me.<br>
<br>For persistance I&#39;m not all that worried as I can just use one of the HSQL packages and one of the various SQL servers, although any support in the framework itself would be welcome.<br><br>Near as I can tell, the options for doing websites with Haskell can be boiled down to:<br>
1) Happs(tack)<br>2) Yesod<br>3) Roll your own from low level components<br><br>and at least in the case of Yesod there&#39;s still a few components that are essentially roll-your-own, although I should point out I&#39;m not opposed to that assuming there&#39;s some good examples available of exactly how to go about doing that. In particular I&#39;ve been looking over the bug tracker and blog code based on Yesod.<br>
<br clear="all">-R. Kyle Murphy<br>--<br>Curiosity was framed, Ignorance killed the cat.<br>
<br><br><div class="gmail_quote">On Wed, Apr 7, 2010 at 13:25, Michael Snoyman <span dir="ltr">&lt;<a href="mailto:michael@snoyman.com">michael@snoyman.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Kyle,<br><br>Well, the web-routes-quasi package is basically an attempt to split out the quasi-quoting used in Yesod so that others can use it. The next release of Yesod will in fact depend on web-routes-quasi (in all likelihood).<br>

<br>The documentation on Yesod *is* sparse at the moment, mostly because the API is still immature and will have some major changes over the next few releases. If you&#39;re looking for something that will have backwards compatibility, Yesod is not for you at the moment.<br>

<br>I will say that I use Yesod in production on a number of websites, and it&#39;s worked well enough for me. One thing that it is majorly lacking is a persistence layer, but I&#39;m working on that[1]. I also have been toying with the idea of replacing HStringTemplate with a type-safe templating system[2]; for fun I&#39;m basing the syntax off of Haml[3]. If you want information on either of these projects, or have suggestions, I&#39;d love to hear them.<br>

<br>If you have other concerns, I&#39;m also interested in hearing them. Yesod is young and has plenty of room to grow, but I think it&#39;s a pleasure to program with and is filling a niche that is missed by other Haskell packages.<br>

<br>Michael<br><br>[1] <a href="http://github.com/snoyberg/persistent" target="_blank">http://github.com/snoyberg/persistent</a><br>[2] <a href="http://github.com/snoyberg/hamlet" target="_blank">http://github.com/snoyberg/hamlet</a><br>
[3] <a href="http://haml-lang.com/" target="_blank">http://haml-lang.com/</a><br>
<br><div class="gmail_quote"><div><div></div><div class="h5">On Wed, Apr 7, 2010 at 10:46 AM, Kyle Murphy <span dir="ltr">&lt;<a href="mailto:orclev@gmail.com" target="_blank">orclev@gmail.com</a>&gt;</span> wrote:<br></div>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="h5">
I&#39;m looking at experimenting with developing a site and due to various constraints I&#39;m considering using one of the haskell frameworks. I experimented a bit with Happstack, although I&#39;m not all that happy with it and I&#39;m interested in alternatives. I&#39;ve also looked briefly at yesod but it doesn&#39;t seem to be very well documented and I&#39;ve got some concerns. The environment I&#39;m working in has constrained memory, about 300M physical, with a further 500M of swap, but a relatively beefy CPU, so I&#39;m trying to stay away from any of the in memory systems like MACID in happstack. At this point I&#39;m mostly toying with the different frameworks to try to get a feel for them, but in a couple months I&#39;m probably going to need to actually put together a production system that can handle some fairly low duty e-commerce. I&#39;m planning on using Google Checkout for order processing, but aside from that and the memory constraints I don&#39;t have any real hard rules for what the framework needs to support. I&#39;m currently running nginx to serve static content on the server, so I could potentially integrate with that, or I could just have whichever framework I end up using serve the static content as well.<br>


<br>So, my requirements are as follows:<br>1) Small memory footprint<br>2) Relatively simple to extend such that I can integrate it with Google Checkout<br>3) Documented well enough that I can figure out how to plumb everything together without needing to dig through the guts of the framework<br>


4) Relatively stable such that a year from now I don&#39;t need to re-write the entire site because the framework isn&#39;t maintained an no longer works on the current version of GHC.<br><br>Any suggestions?<br><br>P.S. I&#39;m interested in the quasi-quote package I saw mentioned here recently, but it looks more suited for use by framework developers rather than as a finished component, at least from the limited info I&#39;ve found.<br>


<br clear="all">-R. Kyle Murphy<br><font color="#888888">--<br>Curiosity was framed, Ignorance killed the cat.<br>
</font><br></div></div>_______________________________________________<br>
web-devel mailing list<br>
<a href="mailto:web-devel@haskell.org" target="_blank">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>
<br></blockquote></div><br>
</blockquote></div><br>