Вы ищете подробности, особенно о компиляции отложенной оценки? Есть книга Саймона Пейтон-Джонса, упомянутая Максом Болингброком, а также книга, подробно описывающая реализацию Clean в Интернете:
http://wiki.clean.cs.ru.nl/Functional_Programming_and_Parallel_Graph_Rewriting
Если у вас есть университетская принадлежность и вы хотите что-то меньшее, вы можете попытаться получить эти книги (Henderson & Diller, безусловно, уже не в печати):
Антони Диллер "Языки функций компиляции" ISBN 0 471 92027 4
Питер Хендерсон "Применение и реализация функционального программирования" ISBN 0-13-331579-7
AJT Davie "Введение в системы функционального программирования с использованием Haskell" ISBN 0 521 27724 8
У Diller есть полный компилятор для ленивого языка (реализован в Pascal) через сокращение комбинатора. Это была техника реализации, изобретенная Дэвидом Тернером для SASL. У Хендерсона есть много частей компилятора для LISPkit, миниатюрного, ленивого варианта Lisp. Дэви подробно описывает механизм компиляции ленивого языка, например, есть описание STG, которое намного короче, чем книга Саймона Пейтона-Джонса (STG - это SPJ абстрактной машины, используемая для Haskell).
Разработчики Clean имеют достаточно информации о внедрении SAPL (Simple Applicative Language), если вы посмотрите их список публикаций:
https://clean.cs.ru.nl/Publications
Наконец, существует множество документов, документирующих аспекты UHC (и EHC) Utrecht Haskell Compiler. Я думаю, что большая часть информации о том, как организован компилятор (с помощью грамматик атрибутов и «Shuffle») и как реализованы системы типов (в EHC существуют разные уровни типов систем), а не о том, как внутренняя «компиляция» работает.