機械す。
> Haskell別解。
>
> >ghci
> GHCi, version 6.8.2: http://www.haskell.org/ghc/ :? for help
> Loading package base ... linking ... done.
> Prelude> foldl (\x y -> x * y) 1 $ take 10 [1..]
> 3628800
> Prelude> foldl (*) 1 $ take 10 [1..]
> 3628800
> Prelude>
GHCiでは関数定義が出来ないということでしたが、なるほど、こうやれば
これはこれで使えますね。
> 関数に仕立てるとこうかな
>
> ffact :: Int -> Int
> ffact n
> | n == 0 = 1
> | n > 0 = foldl (*) 1 $ take n [1..]
> | otherwise = error "invalid value"
テキスト的には、こういう例が多いですよね。
それにしても改めて、Haskellの記述って、普通の手続き式やS式、
それにSmalltalkのオブジェクト式なんかより、人間の自然の思考に
近いのかな……とふと思いましたが、良く考えてみれば、コレ、
数学の式そのままじゃん(笑)
※数学は自然じゃない自然じゃない(笑)
/機械伯爵/