Haml en Clojure
Acabo de subir a Github clj-haml, un apaño para tener algo parecido a Haml (http://haml.hamptoncatlin.com/) para clojure.

Haml:
%div#things
%span#rice Chicken Fried
%p.beans{ :food => 'true' } The magical fruit
%h1.class.otherclass#id La La La
clj-haml:
(h= :div#things
(h= :span#rice "Chicken Fried")
(h= :p.beans {:food "true"} "The magical fruit")
(h= :h1.class.otherclass#id "La La La"))
El HTML generado en ambos casos:
<div id='things'> <span id='rice'>Chicken Fried</span> <p class='beans' food='true'>The magical fruit</p> <h1 id='id' class='class otherclass'>La La La</h1> </div>
Sólo hay una función:
(h= :selector attributes contents /)
Todos los parámetros son opcionales, :selector es un keyword que puede incluir el nombre de una etiqueta HTML seguido de un id y algunas clases especificadas siguiendo la notación CSS: :p#myid.class1.clas2, :.class1#myid, :br
Attributes es un mapa asociativo con pares clave valor para nombre de atributo y valor, por ejemplo: {:href "/test.html"}.
Contents son unos cuantos forms, potencialmente conteniendo otras llamadas (h=) que se evaluarán y cuyo valor devuelto se insertará en la etiqueta que se está generando.
Por último, el / final opcional, si presente, hace que la etiqueta generada sea con autocierre (h= :br /) -> <br/>, (h= :br) -> <br></br>.
Como en Haml vamos.
La podéis descargar aquí (http://github.com/antoniogarrote/clj-haml/tree/master).
