Cat Release 0.10

Christopher Diggins — 2007-03-30 04:10:15

There is now a new release of the new Cat version (0.10) now available
at Google code hosting ( http://code.google.com/p/cat-language/ ).

First good news:

Good news: Cat now has a self-installing package for windows.

Good news: Cat now supports optional named parameters. More on this on
my blog entry at
http://cdiggins.com/2007/03/29/quadratics-point-free-form-and-named-parameters/

Good news: The parsing code has been completely overhauled, and can
now be easily reused in other C# language projects.

Good news: All of the source code can be browsed online at
http://cat-language.googlecode.com/svn/trunk/

Good news: Issues/bugs/suggestions can be reported using an online
form at: http://code.google.com/p/cat-language/issues/list

Good news: adding new primitives to the language based on C# classes
is much easier.

Good news: type annotations now support labels. For example:

if : ('A bool ('A -> 'B) ('A -> 'B) -> 'B)

now is

if : ('A bool ontrue=('A -> 'B) onfalse=('A -> 'B) -> 'B)

Not only is that more informative, it also allows the expression of
recursive types, like:

def m : (f=(f -> 'A) -> 'A)
{ dup eval }

Now the bad news:

Bad news: Cat is now only supported on windows. To be honest the code
would only require a relatively small amount of change to be
compilalbe on Mono, but I can't spare the time to maintain
compatibility across platforms. If someone were to volunteer time to
help out, I wouldn't turn them away.

Bad news: The current release supports a smaller subset of the language.

Bad news: The current release isn't fully tested.

Bad news: The docs are out of sync.

Cheers,
Christopher