polyglot static checking doesn't do some things:
    * check for uninitialized variables
    * check for circularity in the type hierarchy

Implementation should use interfaces in various places where it currently
uses abstract classes.

The compiler should support the same flags as javac where it makes
sense. In particular, it should have a -sourcepath and a -classpath option.
Currently it seems not to have -classpath and uses -S instead of -sourcepath.
