Hatena::ブログ(Diary)

WebService::Blog->new( user => ’hide_o_55’ )

2011-04-28

Haskell再入門 2日目

ghciによるプログラムの実行

GHCの対話システムである ghci で Haskell プログラムを実行してみる。

$ ghci
GHCi, version 7.0.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude>

ここでプロンプトに表示される「Prelude」は標準ライブラリ Prelude.hs のこと。

":h"でヘルプ、":quit"でインタプリタを終了。

まずは四則演算をやってみる。

Prelude> 2+3
5
Prelude> 2-3
-1
Prelude> 2*3
6
Prelude> 7/2
3.5
Prelude>

続いてリスト操作。

--先頭要素を取り出す
Prelude> head [1,2,3,4,5]
1
-- 先頭要素を取り除く
Prelude> tail [1,2,3,4,5]
[2,3,4,5]
-- (0番目から数えて)2番目の要素を取り出す
Prelude> [1,2,3,4,5]!!2
3
-- 先頭から3個の要素を取り出す
Prelude> take 3[1,2,3,4,5]
[1,2,3]
-- 先頭の3個の要素を取り除く
Prelude> drop 3 [1,2,3,4,5]
[4,5]
-- リストの長さ
Prelude> length [1,2,3,4,5]
5
-- リストの要素の和
Prelude> sum [1,2,3,4,5]
15
-- リストの要素の積
Prelude> product [1,2,3,4,5]
120
-- リストの連結
Prelude> [1,2,3] ++ [4,5]
[1,2,3,4,5]
-- リストを逆順にする
Prelude> reverse [1,2,3,4,5]
[5,4,3,2,1]

2011-04-27

Haskell再入門 1日目(環境構築)

以前Perl6(Pugs)関連でHaskellを少し触ったが、もう少し掘り下げようと思い再入門する。

ひとまず環境構築から。

環境

GHCインストール

brewで一発で入るはず。

$ brew install ghc
$ brew link ghc

以前 Linux(Fedoraだったと思う) でソースからコンパイルする際はいろいろ苦労した記憶があるが、Homebrewですんなり入った。

Haskell Platform のインストール

こちらも brew で一発。

$ brew install haskell-platform
$ brew link haskell-platform

ライブラリインストール

cabalを使用する。

ライブラリHackage から探す。

$ cabal install HDBC