Tail-calls (was Re: Equality of Recursive Structures [Was: Closure Compiler in 3.9 ?])

Lukas Renggli renggli at gmail.com
Sat May 12 18:12:27 UTC 2007


> > aClass>>add: a with: b
> >    self become: #zork.
> >    ^ self add: a with: b+1
> >
> > aClass>>add: a with: b
> >    self class removeSelector: #add:with:.
> >    ^ self add: a with: b+1
>
> Neither of these are affected at all by removing the no-op frames,
> unless I'm missing something.

In both cases the receiver changes and so might the implementation of
#add:with:. Have a look at the other example I gave not using any of
the dirty tricks above, but just plain inheritance. The same problem
there ...

Cheers,
Lukas

-- 
Lukas Renggli
http://www.lukas-renggli.ch



More information about the Squeak-dev mailing list