Haml(HTML Abstraction Markup Language)은 HTML 문서 생성을 단순화하고 능률화하도록 설계된 템플릿 엔진입니다. 이는 주로 웹 개발 분야에서 사용되며, 특히 Ruby on Rails 및 기타 Ruby 기반 프레임워크 내에서 널리 활용되지만, 다른 프로그래밍 언어를 위한 구현체도 존재합니다. Haml은 들여쓰기(indentation)를 기반으로 하는 간결하고 우아한 구문을 사용하여, 일반적으로 HTML과 관련된 반복적이고 장황한 코드의 양을 줄이는 것을 목표로 합니다. Haml은 명시적으로 닫는 태그를 사용하는 대신, 들여쓰기에 의존하여 HTML 문서의 구조를 정의합니다. 이 방식은 더 깔끔하고 가독성이 높으며 유지 관리가 쉬운 코드를 작성할 수 있도록 합니다. 또한 Haml은 변수(variables), 반복문(loops), 조건문(conditional statements)과 같은 동적 기능을 지원하여 개발자가 재사용 가능한 템플릿을 쉽게 만들 수 있도록 합니다. 재사용 가능한 컴포넌트와 부분(partials) 정의를 허용함으로써 DRY(Don't Repeat Yourself) 원칙을 장려합니다. Haml 파일은 일반적으로 서버 측에서 사전 처리(preprocessed)되어 표준 HTML을 생성하며, 이 최종 HTML이 클라이언트의 브라우저로 전송됩니다. '.haml' 확장자는 해당 파일이 HTML로 렌더링되기 전에 반드시 Haml 엔진에 의해 처리되어야 하는 Haml 코드를 포함하고 있음을 나타냅니다.