As often as this comes up, I wonder if TCO and loop/recur deserve their own section in the reference section.
Bill On Nov 29, 4:11 am, "Kevin Downey" <[EMAIL PROTECTED]> wrote: > the jvm does not do TCO, loop/recur allows for functional looking > recursion on the jvm with constant stack size. > > > > On Sat, Nov 29, 2008 at 1:25 AM, bOR_ <[EMAIL PROTECTED]> wrote: > > > Hi all, > > > I wondered if there is a difference between using loop-recur or merely > > writing a recursive function. The main difference I found thus far was > > that the loop-recur can suffice with less arguments, but the recursive > > functions seem to be shorter, and perhaps more elegant? > > > (defn construct-atom > > "translates a number n into an set of letters of size n" > > [construct length] > > (if (< (count construct) length) > > (construct-atom (conj construct (char (+ (rand-int amino_acids) > > 65))) length) > > construct)) > > > (defn construct-atom-loop > > "translates a number n into an set of letters of size n" > > [n] > > (let [base_construct #{}] > > (loop [construct base_construct] > > (if (< (count construct) n) > > (recur (conj construct (char (+ (rand-int amino_acids) 65)))) > > construct)))) > > -- > And what is good, Phaedrus, > And what is not good— > Need we ask anyone to tell us these things? --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---