2006-09-29から1日間の記事一覧

定義・束縛

識別子 1文字目 [a-z_] 2文字目以降 [a-zA-Z0-9_']* 予約語 case , class , data , default , deriving , do else , if , import , in , infix , infixl , infixr , instance let , module , newtype , of , then , type , where , _ 中項演算子 二項関数 → …

パターンマッチとガード

関数定義の一般形 関数名 パターンA1 パターンA2 ... | ガードA1 = 定義A1 | ガードA2 = 定義A2 | ガードA3 = 定義A3 : 関数名 パターンB1 パターンB2 ... | ガードB1 = 定義B1 | ガードB2 = 定義B2 | ガードB3 = 定義B3 : : :一つの関数は複数の引数を持ち…

レイアウト

インデントを揃えることで一つのコードブロックを表す 所属するコードブロックのオフサイドラインよりも深くインデントすると前の行の続きになる 以下はいずれも同じ意味 do foo bar bazdo foo bar bazdo foo bar bazdo { foo bar ; baz }

コメント

-- 一行コメント "--" の後に空白を入れるべし {- ブロックコメント -} ネスト可能 リテレイト形式 Haddock

Haskellの構文

コメント レイアウト if式 パターンマッチ case式 関数定義 let式 where節