One thing I've noticed about languages: you can't really tell which is better from such a short sample.
Paul calls Prolog pattern matching great for writing basic list manipulation functions, then downhill from there. But if you're looking at those kinds of toy problems (how do you write reduce?) you get a biased sample.
Really, you have to try writing something representative of your problem space. And that code snippet is not at all representative of my experience writing web applications; it lacks:
* Persistent storage
* Large pages with multiple possible forms and actions
* Complicated queries
In fact, what the demo code amounts to is a 2 step wizard. And in all of Justin.tv, we only have two wizards. So I don't think this is a good test for length of a web app.
One extremely important question: What would be? Is there some kind of canonical example application that could be designed?