You're right about changing the docstring to read ""sequence"
I think the lazy-cat version looses the ability to rotate in reverse, which I've come to love from Ruby. Also, I have found use cases where I want to rotate a period longer than the sequence length. Thanks for the feedback, though. Sean On Apr 21, 11:37 am, Michał Marczyk <michal.marc...@gmail.com> wrote: > On 21 April 2010 17:23, Sean Devlin <francoisdev...@gmail.com> wrote: > > > I've had to code these guys up a few times: > > Nice functions! > > I'd replace "collection" with "sequence" in the docstrings, though. > (And rename the args accordingly.) > > You can also rewrite rotate as > > (defn rotate [n s] > (lazy-cat (drop n s) > (take n s))) > > which has the built-in assumption that n doesn't exceed the length of > s, but won't force more than (inc n) elements of s before producing > the first item of the result. (Additional forcing might happen due to > chunking issues, of course.) > > As a final remark, I believe that rotate takes constant time to > execute, followed by O(n) time to produce the first element. This is > petty nitpicking, of course. ;-) > > Sincerely, > Michał > > -- > 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 > athttp://groups.google.com/group/clojure?hl=en -- 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