> Probably I'm missing something, since you know the compiler better than I do.

Not in the least; my points are pretty much abstract/academic.

> My understanding is that your code prescribes a series of branching tests, 
> rather than giving the compiler a single n-way "case" and letting the 
> compiler decide what the individual branch tests should be.  That's the 
> difference I was wondering about.
> 
> Regarding chaining local closures with tail calls that are easy to optimize, 
> I thought I had the same thing going on in my code.

Oh, quite possibly.

I think maybe we're not disagreeing about anything at all. I wasn't arguing 
that splitting up the `case' is better -- I actually prefer the version that 
has one single `case'. My point was just that some of the earlier versions 
which did a repeated "am I supposed to be falling through?" conditional seemed 
like they'd generate worse code, and that it should at least in theory be 
possible to generate unconditional jumps with the straight-line tail-calling 
code.

Dave

_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users

Reply via email to