Haskell
目次
概要
関数型プログラミング言語。インデントが意味を持ちます。
「Avoid Success at All Costs」(最大限成功を避ける)
サイト
学習サイト
- Write Yourself a Scheme in 48 hours:A Haskell Tutorial
- The Haskell Cheatsheet- Real World Haskell
- Chapters - Learn You a Haskell for Great Good!
Emacs
関連サイト
- Haskell(sampou.org):日本語解説サイト
- About Haskell(日本語訳):About Haskellの翻訳
- A Gentle Introduction to Haskell, Version 98
- プログラム工学VI 講義資料(2002-9-25) Haskell 入門
- Haskellで遊ぶ
- 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
インストール
よほどのこだわりでも無い限り Haskell Platform をインストールします。
The Haskell Platform には GHC と cabal が含まれています。
ライセンスはBSDL。ghcというコンパイラとghciというインタプリタがインストールされます。
Mac
Mac の GHC はまだ 64bit 完全に対応しているわけではなく実験版ですが、基本的に動作します。
DMG の中のインストーラから普通にインストールします。
Ubuntu
Ubuntu にインストールする事があったのでメモ。
古いhaskell でも良いなら apt 経由でインストールすれば良い。
最新のUbuntuなら以下だけ
sudo apt-get install haskell-platform
古いUbuntuにはppaが用意されている。ただ haskell も古い...
sudo add-apt-repository ppa:justinbogner/haskell-platform
sudo apt-get update
sudo apt-get install haskell-platform
最新のhaskellを利用したい場合はソースからインストールするかバイナリを利用する。
GHCの64bitバイナリを利用してのインストールだと以下。
wget http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-x86_64-unknown-linux.tar.bz2
tar xf ghc-7.6.3-x86_64-unknown-linux.tar.bz2
cd ghc-7.6.3
./configure
# コンパイルバイナリなので make は不要
# /usr/local にインストールされる
sudo make install
sudo apt-get install libgmp3-dev
sudo apt-get install freeglut3-dev
wget http://lambda.haskell.org/platform/download/2013.2.0.0/haskell-platform-2013.2.0.0.tar.gz
tar xv haskell-platform-2013.2.0.0.tar.gz
./configure --enable-user-install
make
sudo make install
cabal
所謂パッケージマネージャ
cabal update
cabal install cabal-install
日本語
最新の Haskell は内部文字コードは UCS-4。
入出力を UTF-8 で処理したい場合は utf8-string で処理すると良い。
cabal install -p utf8-string
で utf8-string をインストールすれば UTF-8 が利用できるようになります。
ライブラリ
HOC
GHC 6.10.4 を利用して Mac OS X 10.6 でコンパイルしようとすると#3522 (conflicting Block.h on Snow Leopard) -- GHCのエラーが出る。
直しても #3353 (Add CLDouble support) --GHC のエラーがでる。
cabal install parsec-3.0.1
cabal install fgl
cabal install HUnit
svn co http://hoc.googlecode.com/svn/trunk/hoc hoc-read-only
Setup.hs 84行目あたりを書き変える
-- customConfig :: (Either GenericPackageDescription PackageDescription, HookedBuildInfo) -> ConfigFlags -> IO LocalBuildInfo
customConfig :: (GenericPackageDescription, HookedBuildInfo) -> ConfigFlags -> IO LocalBuildInfo
runhaskell Setup.hs configure -p --ld-options="-arch i386" --gcc-option=-m32 --user
アプリケーション
エディタyi
- http://code.google.com/p/yi-editor/
- http://haskell.org/haskellwiki/Yi
- http://hackage.haskell.org/package/yi
- http://code.haskell.org/yi/README
かならず $HOME/.cabal/bin にパスを通しておく。パスが通ってないと alex が存在しないエラーが出る
cabal install cabal-install
cabal update
cabal install base-4.2.0.2
cabal install alex
cabal install yi
ライブラリのバージョンがあわないなためインストールできない場合が結構ある。バージョンを指定してインストールするのが良い。
cabal install yi --constraint="data-accessor < 0.2.1" --constraint="template-haskell < 2.4"
ターミナル内では動作する。
Cocoa で動作させたい場合は HOC のコンパイルが必要。
エディタleksah
設定
参考書籍
programming musings » Blog Archive » A Haskellbookshelf

The Haskell School of Expression: Learning FunctionalProgramming Through Multimedia(AA)

Haskell: The Craft of Functional Programming(International Computer Science Series): 洋書(AA)

Introduction to Functional Programming Using Haskell(Prentice Hall Series in Computer Science): 洋書(AA)

ふつうのHaskellプログラミングふつうのプログラマのための関数型言語入門: 本(AA)

入門Haskell―はじめて学ぶ関数型言語: 本(AA)
参考サイト
- Haskellメモ - sakurai
- Pragmatic Haskell- Haskell - 結城浩
- The RWiki - Haskell
- Haskell Code Fragment- Haskell
- Haskell のお勉強
- SourceForge.net: jaskell- Haskellの入出力
- Haskell のお勉強
- JJinuxLand: Haskell: Microsoft Haskell PDF
J C++ forHaskeller:すっごい大変そう
