Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
GHC
GHC
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,251
    • Issues 4,251
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 394
    • Merge Requests 394
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Glasgow Haskell Compiler
  • GHCGHC
  • Wiki
    • Commentary
  • abbreviations

Last edited by Takenobu Tani Jun 17, 2020
Page history New page

abbreviations

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

  • BCO: Byte-code object

  • CAF: Constant Applicative 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)

  • STG: Spineless Tagless G-machine

  • Tc: TypeCheck{ing,er}

  • TSO: Thread State Object

  • 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)

Clone repository

GHC Home
GHC User's Guide

Joining In

Newcomers info
Mailing Lists & IRC
The GHC Team

Documentation

GHC Status Info
Working conventions
Building Guide
Debugging
Commentary

Wiki

Title Index
Recent Changes