On 2009-11-05, at 7:03 PM, Daniel Janus wrote:
> > Dear all, > > I am happy to announce the public availability of clj-iter, an > Iterate- > like iteration macro. It is free (available under the terms of MIT > license) and can be found on GitHub: http://github.com/nathell/clj- > iter > > The design goal was to keep it as simple as possible, and make it > blend well with the rest of Clojure. In > contrast to cl-loop, which uses mutable bindings, clj-iter has a > functional flavour, and macroexpands to the kind of code you would > write manually using loop/recur. It is also very simple, having a > fraction of Iterate's functionality, but I hope even the little there > is will be sufficient in many cases. > > To avoid citing the entire README blurb, I'll just give you some > examples: > > (iter (for x in [31 41 59 26]) > (for y from 1) > (collect (+ x y))) > ==> (32 43 62 30) > > (iter (for s on [1 2 3 4 5]) > (for q initially () then (cons (first s) q)) > (collect (cons (first s) (concat (take 2 (rest s)) (take 2 > q))))) > ==> ((1 2 3) (2 3 4 1) (3 4 5 2 1) (4 5 3 2) (5 4 3)) > > Please let me know whether it is of any use to you. Feedback, and > especially patches, are more than welcome. This is awesome. Can this be made part of contrib? S. --~--~---------~--~----~------------~-------~--~----~ 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 Note that posts from new members are moderated - please be patient with your first post. 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 -~----------~----~----~----~------~----~------~--~---