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


Ignore:
Timestamp:
Sep 8, 2006 1:57:42 PM (8 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/Renamer

    v1 v2  
    1616  f = (f, M.f, Q.f, \f -> f) 
    1717}}} 
    18  (where all the variables are {{{RdrName}}}s).  The result of renaming module M is: 
     18(where all the variables are {{{RdrName}}}s).  The result of renaming module M is: 
    1919{{{ 
    2020M.f = (M.f, M.f, K.f, \f_22 -> f_22) 
    2121}}} 
    22 (where all these names are now {{{Name}}}s). 
    23    * The top-level unqualifed {{{RdrName}}} "{{{f}}}" has become the {{{External}}} {{{Name}}} {{{M.f}}}.   
    24    * The occurrences "{{{f}}}" and "{{{M.f}}}" are both bound to this {{{Name}}}.   
    25    * The qualified {{{RdrName}}} "{{{Q.f}}}" becomes the {{{Name}}} {{{K.f}}}, because the function is defined in module K.   
    26    * The lambda-bound "{{{f}}}" becomes an {{{Internal}}} name, here written {{{f_22}}}.   
    27 (All the {{{External}}} names have uniques too, but we often do not print them.) 
     22where all these names are now {{{Name}}}s. 
     23  * The top-level unqualifed {{{RdrName}}} "{{{f}}}" has become the {{{External}}} {{{Name}}} {{{M.f}}}.   
     24  * The occurrences "{{{f}}}" and "{{{M.f}}}" are both bound to this {{{Name}}}.   
     25  * The qualified {{{RdrName}}} "{{{Q.f}}}" becomes the {{{Name}}} {{{K.f}}}, because the function is defined in module K.   
     26  * The lambda-bound "{{{f}}}" becomes an {{{Internal}}} name, here written {{{f_22}}}.  (All the {{{External}}} names have uniques too, but we often do not print them.) 
    2827 
    2928In addition, the renamer does the following things: