On Feb 24, 5:36 am, Timothy Pratley <timothyprat...@gmail.com> wrote:
> Disclaimer: I don't think this is an important issue. I'd like to hear
> some wider opinions on this out of interest.
>
> So far I haven't found the nays compelling, but then its not really an
> exciting feature either. I tend to come across (dotimes) where I want
> to get a rough feel for the timings on some function:
> (time (dotimes [i 10000] (stuff))
> I'd benefit more from (time) having an arity 2 version taking the
> number of executions desired :P
> Again that's not exactly an earth-shattering feature either. Are there
> any real use cases for dotimes? It could almost be removed in favour
> of (for) only, it is only slightly more verbose.
>
> So far the objections raised against extending dotimes have been:
>
> 1) Complexity:
> having (dotimes 3 (stuff)) and (dotimes [i 3] (stuff i))
> vs always using a binding even when not needed: (dotimes [_ 3]
> (stuff))
> That's the question in a nutshell really... is it simpler or more
> complex?
> Having the option doesn't appear to hurt.
> (It is not a burden to learn or understand, and is not a breaking
> change).
>
> 2) Polymorphic arguments are bad:
> In general I agree it is wise to be wary, however it wouldn't be a
> unique situation:
> (find-doc re-string-or-pattern)
> (float-array size-or-seq)
> (seque n-or-q s)
> Numbers and bindings are completely distinguishable in this case.
> There would be no runtime hit as the trivial check would be macro time
> anyhow.
>
> 3) You can write your own like xyz:
> Seems irrelevant given Mark has indeed written his own.
>
I'm not opposed to supporting (dotimes 42 (foo)) given the objections
raised thus far.
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
-~----------~----~----~----~------~----~------~--~---