Haml (Lenguaje de Marcado de Abstracción de HTML) es un motor de plantillas (templating engine) diseñado para simplificar y optimizar la creación de documentos HTML. Se utiliza principalmente en el desarrollo web, particularmente dentro de Ruby on Rails y otros frameworks basados en Ruby, aunque también existen implementaciones para otros lenguajes. Haml tiene como objetivo reducir la cantidad de código repetitivo y verboso típicamente asociado con HTML mediante el uso de una sintaxis concisa y elegante basada en la indentación (sangría). En lugar de cerrar etiquetas explícitamente, Haml se basa en la indentación para definir la estructura del documento HTML. Esto resulta en un código más limpio, legible y fácil de mantener. Haml también soporta características como variables, bucles (loops) y declaraciones condicionales, permitiendo a los desarrolladores crear plantillas dinámicas y reutilizables. Fomenta los principios DRY (Don't Repeat Yourself – No te Repitas) al permitir la definición de componentes reutilizables y parciales. Los archivos Haml son típicamente preprocesados en el lado del servidor (server-side) para generar HTML estándar, que luego se envía al navegador del cliente. La extensión '.haml' significa que el archivo contiene código Haml que necesita ser procesado por un motor Haml antes de que pueda ser renderizado como HTML.