> 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