GHC Core - это язык System FC , на который переведен весь Haskell.(Приблизительная) грамматика для ядра определяется следующим образом:
Ядро тесно связано с более простой и известной системой F .Все преобразования , выполняемые GHC на уровне ядра , являются сохраняющими тип рефакторингами этого представления ядра для повышения производительности.И, не очень хорошо известно, вы можете писать прямо в Core для программы GHC.
GHC Core вписывается в конвейер компилятора (как это было в 2002 году, sans-LLVM и CMM):
Основными документами, которые необходимо узнать о ядре GHC, являются:
Связанные материалы, которые могут помочь пониманию:
- GHC - вывод текстового ядра
- Я потратил много времениЯдро обучения путем чтения источника GHC.Некоторые из них описаны в моей дипломной работе от 2002 года, со стр. 16.
- С использованием инструмента ghc-core для генерации Core в формате, который мне нравится.
Ядро в свою очередь переводится в код STG, который выглядит примерно так:
Смешные имена в Core кодируются в "Z-кодировка ":
Типы и виды сердечника GHC (из статьи Толмача):
Наконец, GHC's Примитивы регулярно появляются в выводе GHC Core, когда вы оптимизировали свой Haskell до основных инструкций, о которых GHC знает.Набор примопов представлен в виде набора основных функций в предварительно обработанном файле.