Yeah (pred) is not supposed to depend on any items inside f. This is why (take-while pred (repeatedly f))) won't work in this situation.
(take-while) will always take an element out of f, so that it can be tested using (pred). I don't want any elements of (f) to be looked at if (pred) is false. ----USE CASE---- I'm using it in combination with some Java libraries. The following seems like a very clojure-ish way of doing things. (for [:while (Mouse/hasEvent)] (Mouse/getEvent)) so this returns a nice lazy stream of mouse events, which can be processed however i like. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---