Я хочу протестировать реализацию оптимизации компилятора, включив процесс компиляции GHC и изменив его представление Core. Идея состоит в том, чтобы иметь что-то вроде:
runGhc (Just libdir) $ do
...
c <- compileToCoreModule targetFile
compileCoreToObj False (modify c)
...
где modify
принимает представление Core и возвращает измененную версию. Этот код, однако, не работает (даже если модификация вообще ничего не делает) с не очень полезным сообщением:
expectJust mkStubPaths
Есть какие-нибудь идеи о том, как заставить это работать, или если вообще возможно реализовать преобразование кода таким образом?