Repl definitions

Added a `:let` command in the repl which supports simple name-binding, accompanying type declarations, and data type definition.