Haml (HTML Abstraction Markup Language) é um motor de template projetado para simplificar e otimizar a criação de documentos HTML. É primariamente utilizado no desenvolvimento web, particularmente dentro do Ruby on Rails e outros frameworks baseados em Ruby, embora implementações existam para outras linguagens também. Haml visa reduzir a quantidade de código repetitivo e verboso tipicamente associado ao HTML, utilizando uma sintaxe concisa e elegante baseada em indentação. Em vez de fechar tags explicitamente, Haml confia na indentação para definir a estrutura do documento HTML. Isso resulta em um código mais limpo e legível, que é mais fácil de manter. Haml também suporta funcionalidades como variáveis, laços (loops) e declarações condicionais, permitindo que os desenvolvedores criem templates dinâmicos e reutilizáveis. Ele incentiva os princípios DRY (Don't Repeat Yourself - Não Se Repita) ao permitir a definição de componentes e partições reutilizáveis. Arquivos Haml são tipicamente pré-processados no lado do servidor para gerar HTML padrão, que é então enviado para o navegador do cliente. A extensão 'haml' sinaliza que o arquivo contém código Haml que precisa ser processado por um motor Haml antes de poder ser renderizado como HTML.