Bill Baxter wrote:
On Thu, Jan 8, 2009 at 6:46 AM, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> wrote:
Bill Baxter wrote:
On Thu, Jan 8, 2009 at 5:54 AM, Walter Bright
<newshou...@digitalmars.com> wrote:
Sean Kelly wrote:
I keep thinking I should put on a "Compiler Construction" seminar!
You should.  The academic courses do a good job with theory and
general application, but that isn't quite the same as one based on
practical experience.
That's true. I learned the theory taking a compiler construction course
at
Standford, and then tried to apply it. It turns out that there's a lot
they
left out <g> that's needed to actually get those optimizations to work.

Loop induction variables was a big one, because the theory never takes
into
account the fact that you're replacing a signed loop index with an
unsigned
loop pointer. Oops!

It's like in physics class you're always dealing with frictionless brakes
and pointless masses.
You mean massless points?  Or was that deliberate?
I think there were two jokes actually: frictionless brakes (used instead of
e.g. frictionless pulleys) which is an oxymoron, and a pun on point masses
(objects that can be approximated by a point).

Hmmm.  Oh yeh.  I'm gonna claim lack of my first morning cup o coffee
as my excuse for missing that.
Cute.

School physics problems always start out with "assume there is no friction, and the point has no mass."

Academic papers on compiler optimizations always start out with "assume there are no pointers, no references, no arrays, no exceptions, no threads, no aliasing, no overflows, no signed/unsigned, there are infinite registers available, registers are orthogonal, etc." Or they just go ahead and let you discover that they assumed that. Useful languages are a lot messier in the real world.

Reply via email to