*   Preprocessor doesn't signal error in the case of inconsistent indentation --
    in particular, if a statement is indented less than the previous statement
    (but not all the way back to the last proper indentation level), the
    enclosing block is not terminated and no error is signaled.
 
*   Parser and typechecker / semantic analyzer work, but 
    - currently support only one-dimensional arrays and
    - do not recognize array indexing by array range types.

*   Literals are of Ocaml type int (signed 31-bit) and float (32-bit). This
    means that if a large constant is read into a LOOM Int64, for example,
    it may overflow.  Floating-point literals cannot be in exponent format.

*   Compiler back-end only partially implemented.  Still needs a fair amount
    of work to create a minimal working subset of the LOOM language.  Some
    fragments implemented, and most datatypes and utility functions in place.

*   Testing framework not complete (needs at least a minimal subset of
    the working compiler back-end for full LOOM -> PTX -> executable testing).
   
*   Command-line interface supports input in LOOM or preprocessed code, and
    output in preprocessed code, pretty-printed AST, and (incomplete) PTX.
    Some other potentially useful combinations involving intermediate forms
    are not implemented.  E.g., the program cannot currently read in the 
    AST or typed AST directly, or write out the typed AST except by passing
    to the compiler back-end.
