2010-10-05 80 views
11

我想通過捎帶進入GHC編譯過程並改變它的Core表示來測試編譯器優化的實現。這個想法是有這樣的:在編譯時可以使用GHC API來修改程序嗎?

runGhc (Just libdir) $ do 
    ... 
    c <- compileToCoreModule targetFile 
    compileCoreToObj False (modify c) 
    ... 

其中modify負責核心表示,並返回修改後的版本。該代碼,但是,失敗(即使修改什麼都不做的話)與不是非常有幫助的消息:

expectJust mkStubPaths 

如何使這項工作,或者如果它甚至有可能實現代碼轉換這樣的任何想法?

回答

9

這聽起來像是我的compileCoreToObj中的一個bug。請report it

+0

我很猶豫,因爲我不確定是否正確使用這些功能。有沒有這些轉換的例子? – matiash 2010-10-06 13:35:40

+0

我不知道任何具體的例子,沒有。 – 2010-10-09 19:40:28

+0

這個問題有什麼進展嗎?我今天嘗試了完全相同的代碼,並導致了相同的錯誤消息。 – 2015-01-21 06:18:06

相關問題