- Haskellの色々なタイプやら関数やらをモジュールとして作り、さらにモジュールを合わせてパッケージにするらしい
- そのパッケージを「みんなで登録」する場所がHackageらしい(こちら)
- で、そのHackageがどういう状態なのか、チェックしつつ、パッケージインストールなどをしてくれるのが、cabal
- 実はこのcabal、以前、pandocという画像フォーマット変換アプリをインストールするときに使った(こちら)
- その例でわかるように『ハスケルで作られたアプリ』を、『ハスケルが動くローカル環境』に取ってくる道具、ともみなせる
- この場合、pandocは、cabalでとってくると、インストールも終了していて、コマンドプロンプトに、アプリ起動コマンド
pandoc
- と打つことで使える、とそういうもの
- じゃあ、ハスケルのプログラミングをするのに、ハスケルパッケージをcabalでインストールするっていうのはどういう風になっているのか、というと
cabal install algebra
- というように、algebraパッケージをcabalを使ってインストールするよ、とやるわけだが、そうすると、次のターミナル画面のように、インストールが終わって、cabal配下にインストールされていることが示される
- このalgebraパッケージは「それ自体で動くアプリ」ではないので、ターミナル画面のように
algebra
- と打っても(pandocのようには)動くわけではない
- だけれども、インストールされた、と言われるディレクトリを覗きに行くと、
C:\Users\ryamada\AppData\Roaming\cabal
- にわんさか、いろいろあって、その中にもalgebraがある
- ちなみに、ハスケルを始めるときに入れたpreludeというのも入っていることは、探せばわかる
- これをたどっていくと"algebra-4.1.tar.gz"が納まっていて、
- この中身を見てみると"Setup.hs"もある。なので、自力でインストールする場合は、このtar.gzをとってきて、開梱して、
$ runhaskell Setup.hs configure
$ runhaskell Setup.hs build
$ runhaskell Setup.hs install
- とかとやることになるわけだけれど、cabalがインストールをしてくれているから、ここでは不要
- ちなみに、このtar.gzの中のsrcフォルダを掘って行って見つかる、"Algebra.hs"とかを読めば、ハスケルファイルだから、それを読み込んだ実行環境が立ち上がって
- となってくれる
- パッケージはモジュールの塊なので、モジュールをインポートするには
import Numeric.Algebra
- とか、モジュールを指定することになる
- というわけでインストールできた(ウィンドウズで…)。ただし、このパッケージは名前に惹かれて入れてみたけど、どういうつくりなのかのドキュメントとかは見つからない(見つけてない)ので、使うかどうかは別の話