エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

Prelude探訪

scanlを使ったフィボナッチ数列

fib = scanl (+) 1 (0:fib)

allを使った最大値を求める関数

以前の例。

max_value ns = head [x | x <- ns, and $ map (\ n -> x >= n) ns]

all関数を使って。

max_value ns = head [x | x <- ns, all (\ n -> x >= n) ns]

日本語で書くと「nsの要素のうち、nsの要素nのすべてに対してx>=nとなる要素x、のリスト、の最初の値」といったところでしょうか。