Changes between Version 56 and Version 57 of Commentary/Compiler/HscMain


Ignore:
Timestamp:
Sep 12, 2015 10:01:52 PM (4 years ago)
Author:
ezyang
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/HscMain

    v56 v57  
    3434 It makes a difference whether or not you are using `-O` at this stage.  With `-O` (or rather, with `-fomit-interface-pragmas` which is a consequence of `-O`), the tidied program (produced by `tidyProgram`) has unfoldings for Ids, and RULES.  Without `-O` the unfoldings and RULES are omitted from the tidied program.  And that, in turn, affects the interface file generated subsequently.
    3535
    36  There are good notes at the top of the file [[GhcFile(compiler/main/TidyPgm.hs)]]; the main function is {{{tidyProgram}}}, for some reason documented as "Plan B".
     36 There are good notes at the top of the file [[GhcFile(compiler/main/TidyPgm.hs)]]; the main function is {{{tidyProgram}}}, documented as "Plan B" ("Plan A" is a simplified tidy pass that is run when we have only typechecked, but haven't run the desugarer or simplifier).
    3737
    3838  * At this point, the data flow forks.  First, the tidied program is dumped into an interface file.  This part happens in two stages: