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
-~----------~----~----~----~------~----~------~--~---

Reply via email to