2013-07-08 94 views
1

我開發了一個模塊(M.hs),它依賴於3個其他模塊(A.hs,B.hs和C.hs)。現在我想在其他多個項目中使用模塊M.所以我必須安裝這個模塊。但爲了學習目的,我不想使用cabal,我想手動完成。我想將它安裝在我的家庭目錄中。Haskell linux安裝模塊不帶cabal

什麼是正確的行動方針?哪些文件被創建,複製?哪裏?如何在其他項目中使用此模塊?

附加信息:

  1. 我使用Debian 6
  2. 我使用GHC 6.12

回答

2

你說你不想使用cabal,但你會使用Cabal

cabal是cabal-install提供的命令行工具的名稱,它可以從Hackage下載軟件包並解析依賴關係。

Cabal是Haskell代碼用來驅動編譯(例如預處理文件,按正確順序構建,構建變體,生成文檔)並安裝到正確位置的庫。

我不會推薦不使用Cabal,即使是爲了學習的目的,直到你想爲它寫一個替代品。但如果你真的想這樣做,這裏是粗糙輪廓,有足夠的細節,以找出一個很好的學習經驗:

  1. 建立與-package-name yourpkgname-version您的文件。
  2. 鏈接生成的文件以形成libyourpkgname-version.a文件。
  3. 創建像/var/lib/ghc/package.conf.d/mtl-2.1.2.conf包配置文件,並把它傳遞給ghc-pkg register
注意 name`exposed-modulesimport-dirslibrary-dirshs-libraries
  • 註冊包