Current status:

Work in progress.

Things to do:

- Need more tests! More tests for each type of operand per operator.

- Add function declarations.

- possibly separate out the scalar ops in the grammar to simplify the dispatch.
  (or just make our generating code smart enough to deal.)

- implement an APLVector that knows its shape. Everything will be stored as
  a 1 dimensional array, indexed access will be computed. Eventually ponder
  more compact +/or faster implementations.
 
- properly print display N dimensional arrays.
