On Dec 20, 9:29 am, verec <jeanfrancois.brouil...@googlemail.com> wrote: > At about 72:54 of the clojure sequence talk, Rich explains that he > doesn't want to provide "false guaranties" to people used to "true > tail calls" even though he could detect such "tail position calls" and > basically transforms them into what recur currently does. > > I'm just curious about examples where such a "magic transformation" > would result in violated assumptions.
Hi, I recall Rich mentioning in another talk that he wanted to avoid the constant stream of questions on Scheme/CL mailing lists -- "Why does the stack overflow on this [incorrect tail position] call?" I think the main point of "recur" is just to make it really obvious when you're getting tail call optimization and really obvious when you're not. "recur" won't compile if it's not in tail position, so you know you're doing it right. Leaving that aside, I actually find loop/recur more intuitive than Scheme-style "helper functions." It really gets down to the essence of what a loop is. -Stuart Sierra --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---