2013-02-17 93 views
12

我知道GHC API授予我使用as a library,可以訪問編譯器功能,如分析,運行和轉換Haskell代碼。將GHC作爲包導入的Haskell程序在編譯時會包含其自己的(部分)GHC副本,因此即使在未安裝GHC的系統上也可執行該程序。連接到系統GHC

但是,如果我不想在程序中包含GHC,而是使用系統上安裝的GHC,該怎麼辦?因此,當程序獲得一個Haskell代碼時,它將使用系統的GHC來理解它,並在必要時導入所有包和庫(GHCi上可用的包和庫)。

  1. GHC(安裝在不同的系統上)是否提供這樣的API?
  2. 如果是這樣,系統文檔資源是否也提供類似的東西? (有了它,我可以從Haskell代碼選擇一個函數,然後擡頭看看類型簽名,使用信息等)
+0

不是你要求的,只是使用'runhaskell Test.hs'作爲haskell腳本? – 2013-02-17 16:39:43

回答

2

您可以要求最終用戶安裝任何BuildWrapperscion,然後互動與那些編程。如果您不想強制用戶安裝它們,則可以將其代碼與可執行文件捆綁在一起,然後讓可執行文件調用系統GHC來自己構建它們。