Cat version 0.17.0

4 views
Skip to first unread message

Christopher Diggins

unread,
Aug 21, 2007, 9:37:26 PM8/21/07
to catla...@googlegroups.com, concatenative
The most recent version of Cat, version 0.17.0 is now available for
download at http://code.google.com/p/cat-language/downloads/list.

This version now is able to infer types correctly for the standard
library and all the combinatory logic (CL) combinators (including
recursive types such as M, and Y). The implementation chosen for the
CL combinators differs from Brent Kerby's approach, in that a curried
representation of the combinators are used, and an application
operator is not embedded.

The type inference algorithm has been rebuilt from scratch and is now
based on a general purpose set of classes for constraint solving. The
previous problem of calling "dup" on functions reporting the wrong
type has been solved.

The current version of Cat now has a GUI code viewer which can be
invoked through the command #v. This is a syntax-colored and
hyper-linked view of all loaded definitions, which includes pop-up
text boxes when you hover over a link. Inferred types are also shown,
but in a different color. For a screen shot see:
http://cdiggins.com/wp-content/uploads/2007/07/code_viewer.jpg . This
is not an editor, but a GUI definition editor is under development to
complement the code viewer.

The current version of Cat now supports meta-data comments, which are
used by the interpreter to implement help string generation and
automated unit testing. For more information see:
http://code.google.com/p/cat-language/wiki/MetaData. Thanks to Frank
Krueger for his contribution to the design of the meta-data format.

The drawing code has been sped up by over a factor of 20, and all
flicker has been removed. Thanks to Adrian Savage for this and other
bug reports.

In addition there have been some minor updates to the Cat
specification ( http://www.cat-language.com/manual.html ), but more
work is needed on that.

The wiki also has some new pages, one including an acknowledgements
section (http://code.google.com/p/cat-language/wiki/Acknowledgements)
and another on contributing to Cat (
http://code.google.com/p/cat-language/wiki/ContributingToCat ).

Thanks to everyone for their help and support.

Please feel free to copy Cat!
Christopher Diggins

Reply all
Reply to author
Forward
0 new messages