I just recently posted the most recent C# source code for the Cat
interpreter (version 0.9.6) to CodeProject.com (
http://www.codeproject.com/useritems/cat.asp ) along with an article
which explains how the interpreter and type inference algorithm is
implemented. CodeProject.com is a popular site for C++, C#, and VB
developers and contains lots of open source code and interesting
articles.
The goal of the article is to help people extend or modify Cat for
their own purposes. The Cat code base is public domain, which I want
to point out is very rare for programming languages. This means that
Cat can be easily used for commercial purposes without any
restrictions or requirement whatsoever.
For those interested, there is a flag now in the source code, which
can be used to turn off static checking effectively creating a new
dialect of Cat called Kitten. Kitten has no type checking, and thus
allows a wider range of programs. Kitten is even closer to the Joy
programming language than Cat, and I would be interested to see if
anyone wants to modify the Cat source to enable a Joy compatbility
mode, or simply write a Joy interpreter. (hint: the easiest way is to
wrap the Cat interpreter with a Joy to Kitten translator).
On the subject of Joy compatibility, what level of interest would
there be in a complete Joy interpreter in C#? Also Is anyone doing any
commercial or academic work on or with Joy? I ask because I was
wondering if there were any career opportunities working on or with
Joy or similar languages.
I hope the article and source code is of some use to you. I'd love to
hear about any projects which manage to use some of the source code I
provide, or some of the ideas in the Cat language.
Christopher Diggins
http://www.cat-language.com