1

I have developed a module (M.hs) which depends upon 3 other modules (A.hs, B.hs and C.hs). Now I want to use the module M across multiple other projects. So I have to install this module. But for learning purpose I don't want to use cabal, I want to do it manually. I want to install it in my home dir.

What is a proper course of action? Which files to be created, copied? where? How to use this module in other project?

Additional info:

  1. I am using Debian 6
  2. I am using GHC 6.12
4

1 回答 1

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,注意name, `exposed-modules, import-dirs,library-dirshs-libraries
  4. 通过将包传递给来注册包ghc-pkg register
于 2013-07-08T07:45:44.980 回答