This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: finite state machines in guile



telford@eng.uts.edu.au writes:
> 
> > Does Hobbit use trampolines to implement tail calls between C
> > functions?  Or does it just let the stack grow?  Not a criticism, mind
> > you --- getting tail recursion to work is a pain.
> 
> What is wrong with implementing tail calls as `return(foo())' or something
> similar and letting the C compiler optimise them? Seems like doing something
> fancier than that is falling into the ``too smart by half'' category.
> 

Hi, I am losing track of differen't people's usages of `tail call'
versus `tail recursion' here, but I am quite sure no widely available
C compiler optimizes a tail call by a function not to itself; a few
optimize strict tail recursion, i.e. a function calling itself in tail
position. So relying on the C compiler is not useful.

 - Maciej