A major new release of Cat, version 0.15.0, is now finally available
for download at http://code.google.com/p/cat-language/downloads/list
= Major New Features =
- Self types : equirecursive function types. This allows Cat to
properly infer the type of recursive programs like: "dup apply" which
has type ('A ('A self -> 'B) -> 'B)
- Type declaration verification : functions with type declarations are
compared against the type inferred by the type inference engine.
- Lambda expressions : quotations with named parameters such as \x.\y.[x y +]
- .NET interface: there are now two functions for interfacing with the
.NET framework. The "new" function constructs .NET objects has
signature "(list string -> any)". The "invoke" function calls methods
on .NET objects and has the signature "(any list string -> any any)".
= Major Upgrades =
- Full type inference, all valid programs can be inferred.
- Functions with named parameters no longer use variant lists, but
instead use a lambda elimination algorithm based on Brent Kerby's
paper at http://tunes.org/~iepos/joy.html
- The graphics library has been updated and rewritten to use the new
.NET interface.
= Remarks =
- Unfortunately the documentation is now somewhat out of sync with the
implementation, but hopefully I can fix that up over the next while.
Cheers,
Christopher