回答
我通常把我的模塊放在同一個目錄樹中,並在樹的根目錄下啓動ghci
。然後模塊可以相互導入,我可以交互地將:load
模塊輕鬆地導入ghci
。
$ ghci
.... loading ....
Prelude> :load directory/subdirectory/mymodule.hs
如果你希望你的模塊從幾個不同的項目訪問,我建議建立一個小集團包爲他們和使用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
+1。 Cabal現在實際上非常容易使用;對於這個用例,它幾乎是完全自動的('cabal init'爲你生成一個'.cabal'文件,你只需要填寫構建依賴關係) –
- 1. 我在哪裏可以找到Haskell模塊的完整列表?
- 2. 我在哪裏可以保存NSUserDefaults
- 3. 我在哪裏可以在Ubuntu上保存我的C代碼
- 4. 我在哪裏可以保存我的tfs擴展的設置
- 5. 我在哪裏可以保存我的ruby(.rb)文件?
- 6. 我在哪裏可以找到VS 2012的DNN6模塊模板
- 7. 哪裏可以保存模型 - Yii
- 8. 我在哪裏可以找到Digital Ocean Ansible模塊的ssh_key_ids?
- 9. JSON在哪裏存在?我在哪裏可以把它
- 10. 我在哪裏可以保存小部件的設置?
- 11. 我在哪裏可以存儲受保護的URL?
- 12. 我在哪裏可以從
- 13. 我在哪裏可以保存在Java代碼中使用
- 14. 我在哪裏可以放置模塊化邏輯?
- 15. 我在哪裏可以找到_sre.py python內置模塊?
- 16. 我在哪裏可以找到python Zeitgeist編程模塊?
- 17. 我可以在哪裏最早加載GPIO模塊?
- 18. 我在哪裏可以找到dojo模塊位置?
- 19. 我在哪裏可以找到Haskell的完整圓括號?
- 20. 我在哪裏可以讓我的語言模塊的移動應用程序?
- 21. 我在哪裏可以保存Zend_Form文件?
- 22. 我在哪裏可以閱讀haskell「 - >」運算符?
- 23. 哪裏可以找到模式模塊
- 24. Outlook在哪裏保存我的消息?
- 25. 我在哪裏保存tomcat中的applet?
- 26. 哪裏可以安全地保存我的重要文件?
- 27. 哪裏可以保存我的筆記mediawiki?
- 28. 哪裏可以保存我的C++庫? (Ubuntu)
- 29. Wiki/Lua:我在哪裏放置模塊?
- 30. 我可以在哪裏放置我的Javascript模式定義?
在雲...其他惡意的玩笑> –