[stack] Cat version 0.17.0
"Christopher Diggins" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
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