Changes between Version 22 and Version 23 of Commentary/Abbreviations


Ignore:
Timestamp:
Jul 9, 2011 1:01:24 AM (3 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)