EHC имел обыкновение иметь этот поток между представлениями:
HS -> EH -> Core -> Grin -> Silly
HS, очевидно, Haskell, EH менее сладкий и используетсяПроверка типа, Core является аналогом Core GHC, а Grin и Silly находятся на более низком уровне.
Есть статья, описывающая архитектуру EHC, написанная Джероеном Фоккером, в которой я написал вышеизложенное, но, вероятно, она устарела (я не знаю, что EHC все еще использует представление Silly).Я думаю, что EHC предоставляет парсеры и красивые принтеры для каждого из своих внутренних представлений, что было бы удобно.
Есть также York.Core из YHC, который, как я видел, люди более благосклонно относятся к GHC Core, но я не знаю, есть ли способ компилировать «современный» Haskell в York.Core.