is there any reason why smalltalk doesn't implement tail recursion optimization? Is by "language design"? It tries to avoid any issue?
Thanks
Erlis
Bert Freudenberg <bert <at> freudenbergs.de> writes:snip... gmane is a tyrant
>
> On 05.10.2011, at 00:24, nicolas cellier wrote:
>
>Ah yes of course, this is the essential case... And we cannot even know if the
> Yes, but log(n) is still not good enough for loops that run forever. Like the
Morphic main loop. Or the idle process.
>
> I don't think it's possible to emulate whileTrue without reaching for the meta
hammer. Interesting
> discussion though. Maybe a bit over the head of the average newbie ;)
>
> - Bert -
>
loop is going to halt.
For the two specific cases you submitted, we could cheat by using another VM
magic and let the UI and idle process regenerate by forking themselves and
completely ignore any synchronisation requirement.
Or emulate tail call elimination by playing with thisContext>>sender:
But the sport is becoming a bit crooked. And we're getting far from initial
question.
It's already something to know that a jump bytecode solves these problems
efficiently.
Nicolas
_______________________________________________
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners