
I'd just like to mention that last academic year I had a project student building such a system. Although the result is nice (it provides even some of the sophisticated features Simon mentions), I'm not happy enough with it to use it. This is partially because of the limited Haskell knowledge the student had, but mostly because the whole thing is based on WASH. From this project I learned that WASH is a large and complex library; it automatically includes lots of stuff you may not want (I don't want JavaScript in the pages); it has a number of problems, especially with preserving state; and it is changing quickly. The last point is good in that a number of problems disappeared within the year, but on the other hand the continously changing API also requires you to change your WASH application all the time.
Is the source for your app available? Is there a demo online?
There was an online demo, but with the end of the project this summer the university deleted it. If you are seriously interested I could send you source and the project report. I just don't want to make it fully public, because there might be copyright issues with the University of York.
I agree that WASH is large and complex, but I have used it for a few things. I'd also like to have JavaScript as an optional component in WASH, but haven't yet tried to patch it. I've been using Andrew Cooke's Halipeto for my personal website, it's a nice templating system.
Halipeto only appeared in the middle of the project, and hence wasn't considered. The JavaScript is not just annoying for people like me who turn it off by default. In WASH it mostly serves for checking input fields. For this application there is not much need for checking input fields and the way in which WASH indicates errors in input is in my opinion not very clear and helpful. Ciao, Olaf