I want to test the implementation a compiler optimization by piggybacking into the GHC compilation process and altering its Core representation. The idea would be to have something like:
runGhc (Just libdir) $ do
...
c <- compileToCoreModule targetFile
compileCoreToObj False (modify c)
...
where modify
takes the Core representation and returns the modified version. This code, however, fails (even when modify does nothing at all) with the not very helpful message:
expectJust mkStubPaths
Any ideas on how to make this work, or if it's even possible to implement a code transformation this way?
That sounds like a bug in compileCoreToObj
to me. Please report it.
GHC has support for plugins now, which appear to do exactly what you want.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With