Unspace uses Haml for all of its projects. Haml is a view template language that Hampton came up with about two years ago, with philosophical rather than technical goals in mind:
- code should be beautiful
- indentation is a useful tool to denote hierarchy
- share syntax with CSS
At first the idea of yet another template engine horrified me, but I’ve been proven wrong so many times over it’s become completely moot. Picture Old Pete and Old Hampton by the fire, smoking pipes in rocking chairs:
Hampton: “Hey Pete, remember that time you’ve never been more completely wrong?”
Pete: “Yeah, why?”
Hampton: “Oh, I just wanted you to remember.”
Not only are there several efforts to bring Haml to PHP and other languages, there have been entire frameworks designed around using Haml as a default assumption.
Nathan has continued to make Haml faster and faster over time, so that performance is now conservatively comparable with Rhtml and Markaby. More importantly, there are now so many people, projects, and companies using it that it can be considered stable and mature.
Today we noticed that Andrew Peters has been porting Haml to work in the ASP.NET world via his NHaml project. While it doesn’t yet support Sass, he has implemented partials and layouts in the .NET world, a small example of the Rails Way sneaking into the Microsoft world.
Good work, Andrew. We’re impressed! You should pay a visit to John Lam and see how IronRuby is coming along.
Update: Apparently, Obie agrees that Haml is For The Win.