Haml (HTML Abstraction Markup Language) — это шаблонизирующий движок, разработанный для упрощения и оптимизации создания HTML-документов. Он преимущественно используется в веб-разработке, особенно в Ruby on Rails и других фреймворках на основе Ruby, хотя реализации существуют и для других языков. Haml нацелен на сокращение объема повторяющегося и многословного кода, обычно связанного с HTML, за счет использования лаконичного и элегантного синтаксиса, основанного на отступах (индексации). Вместо явного закрытия тегов, Haml полагается на отступы для определения структуры HTML-документа. Это приводит к более чистому, читаемому коду, который легче поддерживать. Haml также поддерживает такие функции, как переменные, циклы и условные операторы, что позволяет разработчикам создавать динамические и многократно используемые шаблоны. Он поощряет принципы DRY (Don't Repeat Yourself — Не повторяйся) посредством возможности определения многократно используемых компонентов и частичных шаблонов (partials). Файлы Haml обычно предварительно обрабатываются на стороне сервера для генерации стандартного HTML, который затем отправляется в браузер клиента. Расширение 'haml' указывает на то, что файл содержит код Haml, который должен быть обработан движком Haml, прежде чем он сможет быть отрендерен как HTML.