[racket] a little macro exercise

From: David Herman (dherman at ccs.neu.edu)
Date: Sat Oct 9 23:22:18 EDT 2010

> 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.


Posted on the users mailing list.