2005-11-19から1日間の記事一覧

foldr

[id:lethevert:20051011:p1] で、よく分からないとかいたけれど、展開してみたら、分かった。 foldlは、確かに、計算量が増えることがある。

計算量について

HaskellやConcurrent Cleanは、他の言語だとかなり複雑に書く必要がある問題も非常に簡潔に書けるのはすごく利点なのだけれど、その反面、計算の実行過程が隠れているので、計算量の判断が自明でないことがあって、じっと考え込んでしまうことがある。 でも…

samefringe problem

このまえ、考えるといっていたやつ。 http://practical-scheme.net/wiliki/wiliki.cgi?Shiro data Tree a = Leaf a | Branch [Tree a] fringe :: Tree a -> [a] fringe (Leaf x) = [x] fringe (Branch x) = foldr (\x r -> fringe x ++ r) [] x samefringe :…

ZipperをConcurrent Cleanで実装してみた。

とりあえず、リストについて。 悩んだのは(というか、いつも悩むのは)、例外処理をどうしようかということ。nextとprevはタプルで真偽値を返して、それ以外はabortにしたけれど、どうするのが使いやすいのだろう?

OCamlの型推論

d.y.d.さんとこのやつだけど、firefoxで見たら、文字が小さかった。