(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

2015-04-18から1日間の記事一覧

どうやって lazy なエラトステネスの篩を実装したらいいの?

How to make this sieve function lazy?先日僕も似たような実装しようとしてハマったのを思い出しました。 回答には「本物のエラトステネスの篩 *1」という論文があるので参考にするといいと書いてあります。 また、それについての綺麗な実装もあるので参照…

Clojure で循環参照するような関数定義

Circular definition in Clojure (defn f1 [] (lazy-seq (cons 0 (f2)))) (defn f2 [] (lazy-seq (cons 1 (f3)))) (defn f3 [] (lazy-seq (cons 2 (f1)))) こうすると f1 の評価タイミングで f2 が存在しないのでコンパイラがエラーを吐くんだけどどうしたら…