wiki:Commentary/Abbreviations

Version 25 (modified by dterei, 3 years ago) (diff)

--

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)