... | @@ -63,7 +63,7 @@ Projects aimed at making GHC into a user-extensible plug-in platform, and less o |
... | @@ -63,7 +63,7 @@ Projects aimed at making GHC into a user-extensible plug-in platform, and less o |
|
|
|
|
|
- **Allow much finer and more modular control over the way in which rewrite rules and inlining directives are ordered**. See this [ email thread](http://www.haskell.org/pipermail/haskell-cafe/2008-January/038196.html)
|
|
- **Allow much finer and more modular control over the way in which rewrite rules and inlining directives are ordered**. See this [ email thread](http://www.haskell.org/pipermail/haskell-cafe/2008-January/038196.html)
|
|
|
|
|
|
- **Support dynamically-linked Core-to-Core plug-ins**, so that people can add passes simply by writing a Core-to-Core function, and dynamically linking it to GHC. This would need to be supported by an extensible mechanism like ``attributes`` in mainstream OO languages, so that programmers can add declarative information to the source program that guides the transformation pass. Likewise the pass might want to construct information that is accessible later. This mechanism could obviously be used for optimisations, but also for program verifiers, and perhaps also for domain-specific code generation (the pass generates a GPU file, say, replacing the Core code with a foreign call to the GPU program).
|
|
- **Support dynamically-linked Core-to-Core plug-ins**, so that people can add passes simply by writing a Core-to-Core function, and dynamically linking it to GHC. This would need to be supported by an extensible mechanism like ``attributes`` in mainstream OO languages, so that programmers can add declarative information to the source program that guides the transformation pass. Likewise the pass might want to construct information that is accessible later. This mechanism could obviously be used for optimisations, but also for program verifiers, and perhaps also for domain-specific code generation (the pass generates a GPU file, say, replacing the Core code with a foreign call to the GPU program). See [Plugins](plugins) for some early thoughts on this.
|
|
|
|
|
|
- **Improve the GHC API**, whereby you can import GHC as a library. We make improvements now and then, but it would benefit from some sustained attention. A particular project would be to port the Haskell refactorer [ HaRE](http://www.cs.kent.ac.uk/projects/refactor-fp/hare.html) to use the GHC API.
|
|
- **Improve the GHC API**, whereby you can import GHC as a library. We make improvements now and then, but it would benefit from some sustained attention. A particular project would be to port the Haskell refactorer [ HaRE](http://www.cs.kent.ac.uk/projects/refactor-fp/hare.html) to use the GHC API.
|
|
|
|
|
... | | ... | |