Changes between Version 22 and Version 23 of Commentary/Abbreviations


Ignore:
Timestamp:
Jul 9, 2011 1:01:24 AM (4 years ago)
Author:
dterei
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Abbreviations

    v22 v23  
    33Certain abbreviations are used pervasively throughout the GHC source code. This page gives a partial list of them and their expansion:
    44
    5 See also: [http://www.haskell.org/haskellwiki/GHC/List_of_abbreviations A similar list on the GHC Users' wiki].
     5* '''ANF''': A-normal form
    66
    7 * "Occ" means "Occurrence"
     7* '''Class''': Type Class
     8
     9* '''Cmm''': The final IR used in GHC, based on the C-- language
     10
     11* '''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
     12
     13* '''CoreFV''': Free variables in core
     14
     15* '''CoreLint: Type and sanity-checking of core. (Lint: Jargon for a program analysis that looks for bug-suspicious code.)
     16
     17* '''CoreSubst''': Substitution in core
     18
     19* '''CoreSyn''': Core abstract syntax
     20
     21* '''DataCon''': Data constructor
     22
     23* '''Ds''': Desugarer
     24
     25* '''Gbl''': Global
     26
     27* '''Hs''': Haskell Syntax (generally as opposed to Core, for example, Expr vs !HsExpr)
     28
     29* '''Hsc''': Haskell compiler. Means it Deals with compiling a single module and no more.
     30
     31* '''HsSyn''': Haskell abstract syntax
     32
     33* '''Id''': Synonym for Var, but indicating a term variable
     34
     35* '''Iface''': Interface, as in Haskell interface (.hi) files
     36
     37* '''IfaceSyn''': Interface abstract syntax
     38
     39* '''LHs''': Located Haskell something
     40
     41* '''Loc''': Location, as in !SrcLoc
     42
     43* '''Located''': Something annotated with a SrcSpan
     44
     45* '''Lcl''': Local
     46
     47* '''nativeGen''': Native code generator (generates assembly from Cmm)
     48
     49* '''Occ''': Occurrence
    850  * However, in the context of [http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/RdrNameType#TheOccNametype OccName], "occurrence" actually means "classified (i.e. as a type name, value name, etc) but not qualified and not yet resolved"
    951
    10 * "Rn" means "Renamer"
     52* '''PId''': Package ID
    1153
    12 * "Rts" means "Run Time System"
     54* '''PprCore''': Pretty-printing core
    1355
    14 * "Rdr" means "Parser" (or reader)
     56* '''Rdr''': Parser (or reader)
    1557
    16 * "Ds" means "Desugarer"
     58* '''Rn''': Rename or Renamer
    1759
    18 * "Tc" means "!TypeCheck{ing,er}"
     60* '''Rts''': Run Time System
    1961
    20 * "Ty" means "Type"
     62* '''SimplCore''': Simplify core (the so-called simplifier belongs to this, as does the strictness analyser)
    2163
    22 * "Lcl" means "Local"
     64* '''SrcLoc''': Source location (filename, line number, character position)
    2365
    24 * "Gbl" means "Global"
     66* '''SrcSpan''': Source location span (filename, start line number and character position, end line number and character position)
    2567
    26 * "Loc" means "Location", as in !SrcLoc
     68* '''Tc''': !TypeCheck{ing,er}
    2769
    28 * "Hs" means "Haskell Syntax" (generally as opposed to Core, for example, Expr vs !HsExpr)
     70* '''TyCon''': Type constructor
    2971
    30 * "Hsc" means "deals with compiling a single module and no more"
     72* '''TyThing''': Something that is type-checkable
     73
     74* '''Ty''': Type
     75
     76* '''TyVar''': Synonym for Var, but indicating a type variable
     77
     78* '''Var''': A variable with some information about its type (or kind)