Можно ли использовать API GHC для изменения программы во время компиляции?
Вопрос
Я хочу проверить реализацию оптимизации компилятора P копилеобразным процессом компиляции GHC и изменяя его основное представление. Идея будет иметь что-то вроде:
runGhc (Just libdir) $ do
...
c <- compileToCoreModule targetFile
compileCoreToObj False (modify c)
...
куда modify
принимает основное представление и возвращает модифицированную версию. Этот код, однако, не удается (даже при модификации ничего не делает вообще) с не очень полезным сообщением:
expectJust mkStubPaths
Любые идеи о том, как сделать эту работу, или если это даже возможно реализовать кодовое преобразование таким образом?
Решение
Это звучит как ошибка в compileCoreToObj
мне. Пожалуйста доложите об этом.
Другие советы
GHC имеет поддержку для плагины Теперь, кажется, что именно вы хотите.
Не связан с StackOverflow