
On Tue, Mar 16, 2010 at 9:38 AM, Gregory Collins
We need pluggable *applications* (blog, CMS, RSS feed generation, administrative panels, forum, wiki, caching, user management, etc) that understand how to talk to each other --- expecting "plug and play" compatibility between frameworks on this level, when there's no consensus on the *primitives*, is a pipe dream. The first framework that cracks this particular nut, in a way that makes it easy and pleasurable for people to build web apps that perform, is going to gain a lot of traction. Code talks.
Several years ago (mid-2007) I was looking for something like this. I found Bjorn Bringert's HOPE: http://hope.bringert.net/ (err, that seems broken now.) In essence, it is a framework built from a bunch of standard Haskell libs, for better or worse. It uses CGI/FCGI to talk to a web server. I dropped the HaskellDB dependency (roughly because it was too much effort to get it to scale up to thousands of items - I really needed the database to help with pagination), added multi-lingual support, accessibility, a primitive forum, web polls, google services, etc. for this website: http://drdvietnam.com/ This is not a high-traffic site - perhaps up to a thousand hits a day. For this reason I am sure there are many memory leaks, etc. in my version of HOPE. Why is it not on Hackage? Well, it only compiles with 6.8.x due to the capricious changes to the exception libraries in 6.10.x, and moreover I adjusted some of the base libraries (xhtml, cgi, HSQL, etc) in ways that I doubt everyone would like. (Am I the only person who forks almost every library they use?) So if you're in the market for a CMS-alike and don't want to reinvent the wheel, HOPE might be a good starting point. Bjorn solved a lot of problems - modularity, extensibility, packaging with Cabal, routing URLs, MVC, user management with role-based capabilities, etc. - in highly pragmatic and occasionally beautiful ways. :-) The darcs repos are here: http://peteg.org/haskell/ BTW if you're in this business please take Unicode seriously! Haskell libraries interfacing with C were terrible on this front when I was doing this work. cheers peter -- http://peteg.org/