
It is clear from my experience working with html that hamlet has the right idea. The one time I worked on a HAML (the original hamlet, for Ruby) project professionally it was wonderful. However, the actual hamlet syntax could be implemented more nicely and that there is an opportunity for the syntax to be more similar to html. In particular, I would much rather have white space (and quotes where needed) than exclamation marks. Here is one possible alternative: https://github.com/stonean/slim With this style you end up with something like this: form action=url = text #id.class But a more practical syntax could allow compatibility with existing html- this has always been the main weakness of these newer systems. As I said, I have only worked on 1 HAML project, but have used standard templates for everything else. Even after a proper converter is built, the different syntax is a point of pain. Compatibility would also help remove part of the criticism that Yesod is off in its own little world. Instead of '%body' why not '
text' instead of '#id.class title=div>text'. Perhaps both could be allowed. Michael Snoyman is "intrigued" by this proposal and pointed out that because '<' is not used in Hamlet it would be possible to maintain a backwards compatible mode. However, we both don't want to fracture the community- this is a proposal to permantenly improve things and then deprecate the previous syntax, providing a converter to upgrade. I would appreciate feedback from some haskellers. Are there any limitations are drawbacks to such a syntax, or is it just different? Does this appeal to you more hamlet? Will this make a convert out of anybody who runs away screaming when they see a hamlet template? Greg Weber