1. 17 Jun, 2011 6 commits
  2. 16 Jun, 2011 5 commits
    • Simon Peyton Jones's avatar
    • Simon Peyton Jones's avatar
      Add dynamically-linked plugins (see Trac #3843) · 592def09
      Simon Peyton Jones authored
      This patch was originally developed by Max Bolingbroke, and worked on
      further by Austin Seipp.  It allows you to write a Core-to-Core pass
      and have it dynamically linked into an otherwise-unmodified GHC, and
      run at a place you specify in the Core optimisation pipeline.
      
      Main components:
        - CoreMonad: new types Plugin, PluginPass
                     plus a new constructor CoreDoPluginPass in CoreToDo
      
        - SimplCore: stuff to dynamically load any plugins, splice
          them into the core-to-core pipeline, and invoke them
      
        - Move "getCoreToDo :: DynFlags -> [CoreToDo]"
            which constructs the main core-to-core pipeline
            from CoreMonad to SimplCore
          SimplCore is the driver for the optimisation pipeline, and it
          makes more sense to have the pipeline construction in the driver
          not in the infrastructure module.
      
        - New module DynamicLoading: invoked by SimplCore to load any plugins
          Some consequential changes in Linker.
      
        - New module GhcPlugins: this should be imported by plugin modules; it
          it not used by GHC itself.
      592def09
    • Simon Peyton Jones's avatar
    • Simon Peyton Jones's avatar
      Re-do (again) the handling of binders in Template Haskell · e3dcc0d5
      Simon Peyton Jones authored
      See the long Note [Binders in Template Haskell] in Convert.lhs
      which explains it all.  This patch fixes Trac #5037.
      
      The key change is that NameU binders (ones made up by newName in
      Template Haskell, and by TH quotations) now make Exact RdrNames again,
      rather than making RdrNames with heavily encoded OccNames like x[03cv].
      (This encoding is what was making #5037 fail.)
      e3dcc0d5
    • Simon Peyton Jones's avatar
      Layout only · 9d5e65c4
      Simon Peyton Jones authored
      9d5e65c4
  3. 15 Jun, 2011 7 commits
  4. 14 Jun, 2011 9 commits
  5. 13 Jun, 2011 13 commits