我目前正在嘗試使用測試驅動開發方法來做一個Haskell項目。在Java中,我們可以創建一個包含src和bin文件夾的結構良好的項目,然後使用JUnit進行單元測試的主文件夾和測試文件夾。我只是想知道是否有一種標準的方法來在Haskell中獲得這樣的結構?源文件夾的二進制文件夾,源文件夾中的兩個文件夾之一用於測試主源文件夾。如何構建一個Haskell項目?
30
A
回答
2
現代化的答案,這是使用The Haskell Tool Stack。這將使用理智默認值爲您構建項目。
24
我的參考資料一直在Structure of a Haskell project和How to write a Haskell program,這說明社區或多或少似乎遵循一些默認值。到目前爲止,它對我來說效果很好,但我的項目還沒有很大規模。
Structure of a Haskell project中的建議聽起來與您在文章中列出的內容類似,只需進行一些小的修改,如測試文件夾與src文件夾位於同一目錄中。
編輯:
cabal init
如果您有至少進口的所有文件都會產生少量爲你包括與相關依賴小集團文件。這是一個很好的開始,但只是你正在尋找的一部分。
理想情況下,隨着項目的增長,cabal文件和目錄層次結構會自動保持最新,但我不知道任何公開的工具都會這樣做。這也許是我有一天的名單,因爲我相信它對很多人來說都是如此。
-odir
和-hidir
可以與ghc一起使用,將* .o和* .hi文件放在單獨的目錄中。您可以更GHC user guide's section on separate compilation)
EDIT2閱讀:
其他相關的/重疊的帖子:
相關問題
- 1. 如何根據另一個項目構建一個Android項目
- 2. 如何指定構建項目另一個項目B必須先構建?
- 3. 構建一個Haskell程序
- 4. 如何設置IntelliJ以使用堆棧構建Haskell項目?
- 5. 創建一個Java項目的構建
- 6. 如何構建一個Android項目到包含其他項目的jar項目
- 7. 如何構建一個構建成插件依賴項的項目?
- 8. 如何構建這個OpenGL項目
- 9. 如何從多個項目構建rpm
- 10. SWTbot - 如何構建項目
- 11. 如何構建PCL項目
- 12. 如何構建Cocoa項目
- 13. 如何構建PyQT項目?
- 14. 如何參數化2個項目,即「構建其他項目之後構建」
- 15. 如何自動將多個Eclipse插件項目構建爲一個Jenkins項目?
- 16. 如何讓cruisecontrol只能一次構建一個項目
- 17. 如何生成多個構建使用Maven一個項目
- 18. 如何用一個命令構建多個項目?
- 19. 如何排除一些從並行構建構建的項目?
- 20. 如何一次構建主項目和相關項目
- 21. 在emacs中構建一個項目
- 22. 第一個Android項目構建錯誤
- 23. Eclipse - 構建一個特性項目
- 24. 構建一個大型的PHP項目
- 25. 構建一個Vue + Vuex項目
- 26. 在eclipse中構建一個groovy項目
- 27. 使用msbuild構建一個wcf項目
- 28. 構建項目在Eclipse中構建多個子項目
- 29. 如何構建一個使用sbt作爲構建系統的項目?
- 30. 如何使用RoR和dojo構建一個項目來構建dojo AMD模塊
感謝您的回覆。在java中,我可以使用maven自動生成所有必需的文件夾,並且在rails上使用ruby命令「rails new ProjectName」也會這樣做,我只是在想這是一個常見任務,也許Haskell中有一些命令這是做到這一點。 – HHC
當使用ghc來編譯一個.hs文件時,編譯什麼是最好的方法,讓所有的.hs在另一個文件夾中的所有中間文件(.o .hi等等)中的一個文件夾中,以及執行文件還在另一個文件夾 – HHC
編輯評論的回覆,因爲它很長,並從格式化中受益。 – Davorak