Changes between Version 8 and Version 9 of Commentary/Compiler/HsSynType


Ignore:
Timestamp:
Sep 15, 2006 10:32:29 PM (8 years ago)
Author:
guest
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/HsSynType

    v8 v9  
    33= The {{{HsSyn}}} types = 
    44 
    5 The program is initially parsed into "'''{{{HsSyn}}}'''", a collection of data types that describe the full abstract syntax of Haskell.  {{{HsSyn}}} is a pretty big collection of types: there are 52 data types when I last counted.  Many are pretty trivial, but a few have a lot of constructors ({{{HsExpr}}} has 40).  {{{HsSyn}}} represents Haskell its full glory, complete with all syntactic sugar. 
     5The program is initially parsed into "'''{{{HsSyn}}}'''", a collection of data types that describe the full abstract syntax of Haskell.  {{{HsSyn}}} is a pretty big collection of types: there are 52 data types at last count.  Many are pretty trivial, but a few have a lot of constructors ({{{HsExpr}}} has 40).  {{{HsSyn}}} represents Haskell its full glory, complete with all syntactic sugar. 
    66 
    77The {{{HsSyn}}} modules live in the [[GhcFile(compiler/hsSyn)]] directory.  Each module declares a related group of declarations, ''and'' gives their pretty-printer. 
     
    5252    SLPJ: These are invariably to do with type abstraction and application, since Haskell source is implicitly generalized and instantiated, whereas GHC's intermediate form is explicitly generalized and instantiated. 
    5353 
     54Naming convention within the code: LHs means located Haskell, i.e., data wrapped with the Located constructor. 
     55