2011-05-05から1日間の記事一覧

第6章 再帰関数

考え方は難しくないけど、パターンマッチがおもしろい。 基本概念 繰り返し簡約することで値が求まる。n+kパターンは再帰に便利。 factorial 0 = 1 factorial (n + 1) = (n + 1) * factorial n リストに対する再帰 これこれ。このパターンマッチを忘れていた…

ここまでのまとめ:ライブラリ関数

ここまで教科書に出てきたライブラリ関数(演算子も含める)をまとめてみる。 教科書の付録Aにはもっと多くの関数が載っている。(付録Aを読んでみたら、ガードのotherwiseはキーワードではなくTrueと評価される定数だった。新しい発見。) (+) :: Num a => a …

第5章 リスト内包表記

C#だとLINQだけど、Haskellなどの関数型言語やPythonではリスト内包。これも書き方さえ覚えてしまえばそんなに難しい話じゃない。 Haskellではforとか書かないので、やっぱり数学っぽい。でもやってることはforと同じ。 [(x, y) | x <- [1, 2, 3], y <- [4, …