Haml (HTML Abstraction Markup Language) é um motor de templates projetado para simplificar e otimizar a criação de documentos HTML. É utilizado principalmente no desenvolvimento web, particularmente dentro do Ruby on Rails e outros frameworks baseados em Ruby, embora existam implementações para outras linguagens. O 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, o Haml depende da indentação para definir a estrutura do documento HTML. Isso resulta em um código mais limpo, legível e fácil de manter. O Haml também suporta recursos como variáveis, 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 reutilizáveis e parciais. Os arquivos Haml são tipicamente pré-processados no lado do servidor para gerar HTML padrão, que é então enviado ao navegador do cliente. A extensão '.haml' indica que o arquivo contém código Haml que precisa ser processado por um motor Haml antes de poder ser renderizado como HTML.