GHC de Base est le Système le FC langue dans laquelle tous les Haskell est traduit. L' (approximative) de la grammaire de Base est donnée par:
![enter image description here]()
Core est étroitement liée à la plus simple et la mieux connue du Système F. Toutes les transformations de GHC n'sur le niveau de Base sont le type de préserver les refactorings de ce Noyau de la représentation, afin d'améliorer les performances. Et, pas si bien connu, vous pouvez écrire directement au Cœur du programme de GHC.
GHC de Base s'inscrit dans le compilateur de canalisation (comme il l'a été en 2002, sans-LLVM et CMM):
![enter image description here]()
Les documents primaires à apprendre à propos de GHC de Base sont:
Matériel connexe qui peuvent aider à la compréhension:
- Le GHC -fext-core de sortie
- J'ai passé beaucoup de temps à l'apprentissage de Base en lecture GHC source. Certains est décrit dans mon premier cycle de thèse à partir de 2002, à partir de la page 16.
- De l'utilisation de l' ghc-core outil pour générer de Base dans un format que je trouve agréable.
Core est à son tour traduit en STG code, qui ressemble à quelque chose comme:
![enter image description here]()
Le plus drôle, dans les noms de Base sont codés dans le "Z"codage:
![enter image description here]()
GHC Core types et les genres (à partir de Tolmach du papier):
![enter image description here]()
Enfin, GHC du primops apparaissent régulièrement dans le Noyau de GHC sortie, quand vous avez optimisé votre Haskell vers le bas pour les instructions de base de GHC connaît. Le primop ensemble est donné comme un ensemble de fonctions de Base dans un pré-traitées fichier.