# Cat version 0.17.0

## Christopher Diggins — 2007-08-22 01:37:26

    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