[英]Where do I save my Haskell “modules”?
我把一些函數放在一個文件中。 在我的電腦上應該保存這個文件,以便我可以輕松加載我的功能?
我在Windows 64位計算機上使用Haskell平台。
我通常將我的模塊放在同一個目錄樹中,並在樹的根目錄下啟動ghci
。 然后模塊可以相互導入,我可以輕松地:load
交互式地將模塊:load
到ghci
。
$ ghci
.... loading ....
Prelude> :load directory/subdirectory/mymodule.hs
如果您希望從幾個不同的項目中訪問您的模塊,我建議為他們創建一個cabal包並使用cabal install
安裝它。 不需要發布到hackage - 沒有參數的cabal install
在當前目錄中查找.cabal
文件並安裝相應的包。
如果您希望從單個項目訪問您的模塊 - 在分層文件夾樹中組織源的通常做法也適用於Haskell。 讓我舉個例子:
Hello/World.hs
Foo/Bar.hs
Quux.hs
Hello.hs
Hello/World.hs
應該在頭文件中有module Hello.World where
。 主模塊應該有module Main
,但實際的文件名可以是任何東西(例如Quux.hs
)。 在Foo/Bar.hs
您可以使用import Hello.World
。 當您在ghci
加載Foo/Bar.hs
時,當前目錄應該是樹的根目錄,否則它將找不到Hello.World。 您可以將模塊名稱而不是文件名傳遞給ghci:例如ghci Hello.World將起作用。
以下是文檔:
http://haskell.org/ghc/docs/latest/html/users_guide/separate-compilation.html
http://haskell.org/ghc/docs/latest/html/users_guide/packages.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.