Goal: implement Ruby's internals in Ruby; will use ruby2c to convert itself to C and bootstrap a new Ruby binary; to be fully compatible with (standard) Ruby.
To be a superset of Smalltalk-80 with optional variable typing, to allow typechecking of variables and static binding of methods. Typechecking helps ensure type-safe code. Static binding cuts runtime expense, for more speed.