普段「すからーすからーヽ(*゚д゚)ノ」 ばかり言ってますが、仕事で使ってるからという理由もあって無駄に詳しくなっていますが、そもそもそれなりに関数型言語全般に興味があります。O'Reillyからでているこの本

Real World Haskell―実戦で学ぶ関数型言語プログラミング
- 作者: Bryan O'Sullivan,John Goerzen,Don Stewart,山下伸夫,伊東勝利,株式会社タイムインターメディア
- 出版社/メーカー: オライリージャパン
- 発売日: 2009/10/26
- メディア: 大型本
- 購入: 8人 クリック: 245回
- この商品を含むブログ (76件) を見る
も持っていて、それなりに読んだことはあるけど、実際Haskellでまともな大きめのプログラム書いたことはありません。本当はまともな知識があったら、ScalazとHaskell比べて色々書きたいんですがね・・・
で、以前違うパソコンにインストールした覚えはあったけど、今つかっているものにはGHCが入っていなかった*1ので、入れてみたっていうただの備忘録です。
Haskell自体はほとんど最新の情報とか追えてないですが、おそらく色々と進化している途中らしく、例えば以下のようなtweetを見て
ScalaのREPLは、packageの定義以外は基本的になんでもできるけど、以前ちょっと試したときの古いversion*2のものだと、色々ghci上だけだとできないことあって不便だったよなー。と思って、しかしそれらが改善されてるなら、最新入れてみよう(`・ω・´)ってことでやってみたメモ。
まず適当にググッて以下のページを発見。
http://www.sampou.org/cgi-bin/haskell.cgi?HowTo%3AGHC
なんか結構古いけど、ソースから入れてるし、今から入れようとしてるのが同じUbuntuだから似たような手順で入れれば動くんじゃね?っていう乱暴な予想を立てて、とりあえず探してみたら、それらしいものはあったので以下からdownload
http://www.haskell.org/ghc/dist/current/dist/
このblog書いてる時点では
ghc-7.3.20111021-x86_64-unknown-linux.tar.bz2
というのが最新っぽいので、
wget http://www.haskell.org/ghc/dist/current/dist/ghc-7.3.20111021-x86_64-unknown-linux.tar.bz2 bzip2 -dc ghc-7.3.20111021-x86_64-unknown-linux.tar.bz2 | tar xvf - cd ghc-7.3.20111021/ ./configure sudo make install
とやった。おーこれでもうインストールできたのか?っと思って、"ghci"と打ってみたら、以下のような表示になって起動しない(´;ω;`)ブワッ
GHCi, version 7.3.20111021: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... <command line>: can't load .so/.DLL for: libgmp.so (libgmp.so: cannot open shared object file: No such file or directory)
ェ・・・(´・ω・`)ってなっててもしょうがないので、エラーメッセージでググると、それらしいものをStackOverflowで発見
http://stackoverflow.com/questions/6360724/installing-ghc-binaries-on-linux-cant-find-libgmp-so
とりあえず上記のコマンドの意味も完全にちゃんとわかってないまま、上記のURLに載っていたものをそのまま実行(ぉぃ
cd /usr/lib64 sudo ln -s libgmp.so.3 libgmp.so
そしてもう一度ghciと打ってみると・・・
GHCi, version 7.3.20111021: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Prelude>
おー動いた( ´ー`)/
Prelude> 1 + 2 3
とかちゃんと計算できますね。えーその最新版のghci独自の機能が使えるかどうか試そうとしたけど、なんだか長くなってきたので、気が向いたとき別の機会に書きます・・・
追記:
これ書いたからなのか、twitterでつぶやいていたからなのか、早速反応もらいますた、twitter素晴らすぃですね。
@xuwei_k その後、URL から haskell-platform-2011.2.0.1.tar.gz をとってもう一度 tar configure make install
2011-10-23 01:52:00 via web to @xuwei_k
よいこの皆さんは、ちゃんと調べてHaskell Platformとかも一緒に入れるようにしましょう(まだ自分やってない