I have a question regarding the examples, specifically map* and
filter*

(defn map* [f coll]
  (let [iter (stream-iter coll)]
    (stream
     (fn [eos]
       (let [x (next! iter eos)]
         (if (= eos x) x (f x)))))))

(take 4 (map* inc (filter* even? (range 1000000))))
-> (1 3 5 7)

How is eos passed to the fn inside stream and what is it?

Vince

On Jan 21, 2:33 pm, Rich Hickey <richhic...@gmail.com> wrote:
> I've started documenting the streams work I have been doing, for those
> interested:
>
> http://clojure.org/streams
>
> Feedback welcome,
>
> Rich
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to