2014-07-14 48 views
18

cabal repl對調試庫非常有用,但是ghci將隱藏所有不依賴於cabal包的包。雖然cabal build對於repl來說無疑是件好事,但這意味着我無法從無關程序包中加載某些內容以進行快速測試。當通過cabal repl調用時,是否有一種簡單的方法將額外的軟件包加載到ghci中?

可以訪問發出:set -package任何包,但會從卸載我工作的pacakge所有模塊,擊敗的cabal repl點。

什麼是簡單加載我已安裝的軟件包的好方法,但不希望作爲我的庫的依賴項?

回答

23
cabal repl --ghc-option='-package xyz' 

這將加載您致電cabal repl包和包xyz

要做到這一點之後,其實也就是當你在REPL是已經和要加載從另一個包一個額外的輔助模塊:

GHCi> :set -package xyz 
GHCi> :m +XYZ.Module.You.Suddenly.Need 
+1

難道你還可以指定一個本地包的路徑,或一個git網址? – SwiftsNamesake

2

單向(儘管不是最優)將是修改您的cabal文件並添加手動/錯誤標誌extra_dependency,在條件build-depends部分添加所需的依賴關係。

問題的確是,你需要手動編輯cabal文件,每個你想訪問hidden庫,但至少,你的庫不依賴於這些庫的官方。

否則,您可能可以設置模塊路徑來查看您的沙箱緩存。

相關問題