Patch/feature proposal: "Source plugins"

Simon Peyton-Jones simonpj at
Fri Jun 28 14:43:33 CEST 2013

I'm confused as to details here.

*         Edsko is doing something; Nick is doing something else (attached for completeness).

*         I can't locate a Trac Wiki page that describes the design

I'm more than happy to adopt patches that improve the plugin API, but you'll have to lead me through it!

No hurry, just when you are ready.


From: Edsko de Vries [mailto:edskodevries at]
Sent: 26 June 2013 09:21
To: Luite Stegeman
Cc: Simon Peyton-Jones; Thomas Schilling; ghc-devs at
Subject: Re: Patch/feature proposal: "Source plugins"

Hi Luite,

I was fully planning on a first version of the patch yesterday, but so far my efforts were thwarted by annoying problems with dynamic libraries (not -- directly -- related to the patch at all). I will try again today :)


On Wed, Jun 26, 2013 at 8:51 AM, Luite Stegeman <stegeman at<mailto:stegeman at>> wrote:
Any news on this? I'd really like to have this in GHC 7.8.1 so that we can release a fully working GHCJS with GhcMake functionality based on it. I'd be happy to help write the patch.


On Tue, Jun 11, 2013 at 3:21 PM, Simon Peyton-Jones <simonpj at<mailto:simonpj at>> wrote:

I'm not following the details here, but I'm open to suggestions (patches, even) that improve the GHC API.


| -----Original Message-----
| From: ghc-devs-bounces at<mailto:ghc-devs-bounces at> [mailto:ghc-devs-bounces at<mailto:ghc-devs-bounces at>]
| On Behalf Of Thomas Schilling
| Sent: 11 June 2013 12:53
| To: Edsko de Vries
| Cc: ghc-devs at<mailto:ghc-devs at>
| Subject: Re: Patch/feature proposal: "Source plugins"
| On 5 June 2013 13:51, Edsko de Vries <edskodevries at<mailto:edskodevries at>> wrote:
| > It is a little bit messy mostly because parts of the AST get lost
| along the
| > way: quasi-quotes in the renamer, data type declarations and other
| things
| > during type checking. A more ideal way, but also more time consuming,
| would
| > be to change this so that the renamer leaves evidence of the quasi-
| quotes in
| > the tree, and the type checker returns the entire tree type checked,
| rather
| > than just a subset. I think that ultimately this is the better
| approach, at
| > least for our purposes -- I'm not sure about other tools, but since
| this
| > would be a larger change that affects larger parts of the ghc pipeline
| I'm
| > not sure that I'll be able to do it.
| I needed something similar.  In particular, I built a custom code
| generator, but now I need a similar feature for extracting information
| from a Haskell file (for IDE features).
| Since I needed to modify one-shot compilation mode I couldn't use the
| GHC API.  For the IDE stuff I'm using Shake as the build manager, so
| that also needs a customized one-shot mode.  For my current
| implementation I just copied and adapted the necessary parts of
| HscMain, DriverPipeline, etc.  That's very messy, fragile and breaks
| on every GHC release so I'd really like to see the necessary features
| put into GHC.
| Do you have a working patch somewhere?
| _______________________________________________
| ghc-devs mailing list
| ghc-devs at<mailto:ghc-devs at>

ghc-devs mailing list
ghc-devs at<mailto:ghc-devs at>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
An embedded message was scrubbed...
From: Nicolas Frisby <nicolas.frisby at>
Subject: Re: invoking front-end phases from within a GHC plugin?
Date: Tue, 25 Jun 2013 02:56:39 +0000
Size: 11759
URL: <>

More information about the ghc-devs mailing list