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


   From: Jim Blandy <jimb@red-bean.com>
   Date: 26 Sep 1998 13:12:22 -0500

   >     Marius> A macro could certainly make this nicer and Hobbit will
   >     Marius> compile this to an actual state machine implemented with
   >     Marius> gotos I think.
   > 
   >  I think it will make a C function for each subfunction in the letrec
   >  and for each named let.  When I did that `append!' function,
   >  `ghobbit' compiled it into several C functions, and I combined them
   >  by hand.

   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.

It just lets the stack grow.
OTOH, Hobbit does handle tail recursion, at least for the cases where I've
checked.

[btw, what are you refering to with "trampolines" here?  No need to explain
what a trampoline is, unless you want to, ...
just looking for implementation details.
Also, you use tail call in one sentence and tail recursion
in another.  Typo ? [or bait? :-)]]