[HOME]: [Mac OS X]: [MacPython]: [Emacs]: [生存報告記]: [MacEmacs JP Project]: [NTEmacs JP Project]:

概要

関数型プログラミング言語。インデントが意味を持ちます。

「Avoid Success at All Costs」(最大限成功を避ける)

サイト

http://www.haskell.org/

学習サイト

Emacs

関連サイト

インストール

よほどのこだわりでも無い限り Haskell Platform をインストールします。

The Haskell Platform

The Haskell Platform には GHC と cabal が含まれています。

The Glasgow Haskell Compiler

ライセンスは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 が利用できるようになります。

ライブラリ

ViennaCL

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

かならず $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

http://leksah.org/

設定

参考書籍

programming musings » Blog Archive » A Haskell bookshelf

The Haskell School of Expression: Learning Functional Programming Through Multimedia

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

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

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

入門Haskell―はじめて学ぶ関数型言語: 本

参考サイト

J C++ for Haskeller:すっごい大変そう


CategoryProgramLanguage