Tue May 23 2000 08:05:
This is so good. It took me forever to do this design, but now
that I have it, adding semantic checks is a piece of cake. Even
something complicated like "in a function, all return statements
must return a value that can be coerced into the return value type
of the function", which requires you to scan every single statement in
a function, only takes a few minutes to write.