Porting the GeometricInterpreter from SML to Ruby and from a procedure-oriented to data-oriented architecture.