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