Changes between Version 1 and Version 2 of Commentary/Compiler/EntityTypes


Ignore:
Timestamp:
Sep 11, 2006 1:37:50 PM (9 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/EntityTypes

    v1 v2  
    1 [ Up: [wiki:Commentary/Compiler/HscMain] ]
     1[[ShowPage]]
    22
    33= Data types for Haskell entities: {{{Id}}}, {{{TyVar}}}, {{{TyCon}}}, {{{DataCon}}}, and {{{Class}}} =
     
    4141                                        -- Identical to the Unique in the name,
    4242                                        -- cached here for speed
    43         tyVarKind :: Kind }
     43        tyVarKind :: Kind,
     44        isCoercionVar :: Bool }
    4445
    4546  | TcTyVar {                           -- Used only during type inference
     
    7778
    7879 {{{GlobalId}}}:: is used for fixed, immutable, top-level term variables, notably ones that are imported from other modules.
    79  * A {{{GlobalId}}} always has an {{{External}}} or {{{WiredIn}}} [wiki:Commentary/Compiler/NameType Name], and hence has a {{{Unique}}} that is globally unique across the whole of a GHC invocation.
     80 * Always has an {{{External}}} or {{{WiredIn}}} [wiki:Commentary/Compiler/NameType Name], and hence has a {{{Unique}}} that is globally unique across the whole of a GHC invocation.
     81 * Always bound at top level.
    8082 * The {{{IdInfo}}} of a {{{GlobalId}}} is completely fixed.
    8183 * All implicit Ids (data constructors, class method selectors, record selectors and the like) are are {{{GlobalId}}}s from birth, even the ones defined in the module being compiled.