On Mon, Dec 6, 2010 at 5:19 AM, Meikel Brandmeyer <m...@kotka.de> wrote: > Hi, > > Am 06.12.2010 um 10:14 schrieb Ken Wesson: > >>> Then we could use arity functions. (Alex Osborne) >>> >>> (defn list-length >>> ([coll] (list-length coll 0)) >>> ([coll n] (if-let [s (seq coll)] >>> (recur (rest s) (inc n)) >>> n))) >>> >>> This is nice style in my opinion >> >> Not in mine -- it exposes a public API of >> list-length-plus-some-integer that a) doesn't make much sense and b) >> is unlikely to be supported, since the implementation could be changed >> to one that doesn't expose this. > > One can easily hide the second arity from the contract. > > (defn list-length > {:arglists '([coll])} > ...)
Won't that make the internal recursive call fail though? And even if not -- ugly IMO. :) -- 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