| Version 26 (modified by dterei, 23 months ago) |
|---|
GHC Source Code Abbreviations
Certain abbreviations are used pervasively throughout the GHC source code. This page gives a partial list of them and their expansion:
* ANF: A-normal form
* Class: Type Class
* Cmm: The final IR used in GHC, based on the C-- language
* Core: GHC core language. Based on System FC (variant of System F). Represents a type-checked and desugared program in some (out of several) intermediate compilation step
* !CoreFV: Free variables in core
* CoreLint: Type and sanity-checking of core. (Lint: Jargon for a program analysis that looks for bug-suspicious code.)
* CoreSubst: Substitution in core
* CoreSyn: Core abstract syntax
* DataCon: Data constructor
* Ds: Desugarer
* Gbl: Global
* Hs: Haskell Syntax (generally as opposed to Core, for example, Expr vs HsExpr)
* Hsc: Haskell compiler. Means it Deals with compiling a single module and no more.
* HsSyn: Haskell abstract syntax
* Id: Synonym for Var, but indicating a term variable
* Iface: Interface, as in Haskell interface (.hi) files
* IfaceSyn: Interface abstract syntax
* LHs: Located Haskell something
* Loc: Location, as in SrcLoc
* Located: Something annotated with a SrcSpan
* Lcl: Local
* !nativeGen: Native code generator (generates assembly from Cmm)
* Occ: Occurrence
- However, in the context of OccName, "occurrence" actually means "classified (i.e. as a type name, value name, etc) but not qualified and not yet resolved"
* PId: Package ID
* PprCore: Pretty-printing core
* Rdr: Parser (or reader)
* Rn: Rename or Renamer
* Rts: Run Time System
* SimplCore: Simplify core (the so-called simplifier belongs to this, as does the strictness analyser)
* SrcLoc: Source location (filename, line number, character position)
* SrcSpan: Source location span (filename, start line number and character position, end line number and character position)
* Tc: TypeCheck{ing,er}
* TyCon: Type constructor
* TyThing: Something that is type-checkable
* Ty: Type
* TyVar: Synonym for Var, but indicating a type variable
* Var: A variable with some information about its type (or kind)
