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

Reply via email to