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


Ignore:
Timestamp:
Sep 8, 2006 1:57:42 PM (9 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: