<div dir="ltr">Hi Erik,<br><br>No, no idea or numbers about the fraction that would benefit.<br><br>The "optimisation" in TCO is different from its traditional sense, which is usually "just" to provide a constant factor improvement in speed/memory. TCO by contrast, allows or doesn't allow a programmer to use a certain programming technique: recursion.<br><br>I use recursion a lot, and when I moved to ABCL, I found that a lot of code broke on lists as short as a few thousand elements.<br><br>So I'm not referring so much to ABCL or its implementation as to a Lisp program. A portable Lisp programmer can't rely on TCO being available. So using defun/tro [1] lets them remain portable across Lisps.<br><br>It's probably not too hard to also optimise mutual recursion (f->g->f) in a labels clause using a similar macro to defun/tro.<br><br>When I say I'm not referring specifically to ABCL, it means that if ABCL implemented TCO, everything I wrote would just move over to another (present or future) non-TCO ANSI Common Lisp's discussion forum when someone enquired about it :-) .<br><br>Sorry about the delay. I haven't yet mastered this newsgroup's (mailing-list's?) interface, and thought my last message hadn't even gone through.<br><br>[1]: was deftro<br><br>Vibhu<br></div>