我想通過捎帶進入GHC編譯過程並改變它的Core表示來測試編譯器優化的實現。這個想法是有這樣的:在編譯時可以使用GHC API來修改程序嗎?
runGhc (Just libdir) $ do
...
c <- compileToCoreModule targetFile
compileCoreToObj False (modify c)
...
其中modify
負責核心表示,並返回修改後的版本。該代碼,但是,失敗(即使修改什麼都不做的話)與不是非常有幫助的消息:
expectJust mkStubPaths
如何使這項工作,或者如果它甚至有可能實現代碼轉換這樣的任何想法?
我很猶豫,因爲我不確定是否正確使用這些功能。有沒有這些轉換的例子? – matiash 2010-10-06 13:35:40
我不知道任何具體的例子,沒有。 – 2010-10-09 19:40:28
這個問題有什麼進展嗎?我今天嘗試了完全相同的代碼,並導致了相同的錯誤消息。 – 2015-01-21 06:18:06