2008-06-11から1日間の記事一覧

最近全然プログラミングの勉強できてない。 Haskellも全然だし、On Lispも再開できてない。せっかくマクロのところなのに。 脳みそが少しLispに慣れてきたのにまた退化しちゃう。 記号論理も完全にストップしてしまった・・・。 レポートとか死んでしまえば…

lambda

Haskellではλ式をこう書くんですね。 Prelude> (\ x y -> x ** y) 2 10 1024.0 GHCiでは関数を定義できないけどラムダ式ならOKか。 Prelude> let c = (\ x y -> x ++ reverse y) "hello, " Prelude> c "dlrow" "hello, world" Prelude> (\ x -> (\ y -> x + …

畳み込み - fold(l|r), reduce

RubyとPythonの場合 http://d.hatena.ne.jp/nullpobug/20080609/1212994658 Haskellだとfoldl(fold-left)とfoldr(fold-right)らしい。 定義を拾ってきた -- fold-left foldl :: (a -> b -> a) -> a -> [b] -> a foldl f z [] = z foldl f z (x:xs) = foldl f…