Shifted operators over to more flexible system with dual-type dispatch
Implemented length function for collections
Tidied directory tree/namespaces
Added auto-loaded prelude
Improved typecheck behaviour.
Support for arbitrary nested destructuring assignments.
Added IValue abstraction layer
Added stronger typechecking of function values and destructuring assignments.
Predicate types now inherit from their parent types, though constraint support isn't there yet
Support for constraining types to their bindings
Improved stringification of type constraints
Derived types now properly check supertype predicates.
Fixed broken equality behaviour with nulls.
Changed insane default behaviour for undefined operators. Now throws, as is only sensible.
Added support for typechecking function types.
Fixed subtraction by altering unary -'s priority.
Expanded GramException type tree
Exposed external interface so library can be used
Added unit tests
Control structures now typecheck the important bits
Control structures now typecheck the important bits
Can now use variables containing lists as types.
Can now use variables containing lists as types.
Added full typechecking support for functions, including user-defined datatypes and inline definitions.