Changes between Version 16 and Version 17 of NewPlugins


Ignore:
Timestamp:
Jan 21, 2011 7:06:49 PM (3 years ago)
Author:
thoughtpolice
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NewPlugins

    v16 v17  
    8383Most people will be using the first case - that is, writing a `BindsToBindsPluginPass` that just manipulates every individual Core binding. 
    8484 
     85=== Reflections on the current API === 
     86 
     87Scala's compiler has a plugin API described by [1]. Scala is a bit of a different beast, but the compiler fully supports compilation plugins in the same manner we would like GHC to - that is, it specifies at which phase we want the plugins to run. 
     88 
     89TODO: expand on this bit 
     90 
    8591= The Future = 
    86  
    8792== Plugins for Cmm == 
    8893 
     
    163168   resultant asm files, followed by linking. 
    164169  * Even though normally the backends are responsible for the code generation up to but not including linking, the Cmm backends need to have some concept of how to link together the final resultant program, and GHC needs to give it the necessary information - the plugin could very well want to do its own linking/final compilation steps for good reasons. 
     170 
     171= References = 
     172 
     173[1] "Scala Compiler Phase and Plug-In Initialization for Scala 2.8" (PDF) - http://www.scala-lang.org/sites/default/files/sids/nielsen/Thu,%202009-05-28,%2008:13/compiler-phases-sid.pdf