SVN Version of Cat does type checking!
I finally just finished integrating type checking back into the Cat compiler. This is only available in the version of Cat most recently checked into the SVN repository so feel free to pull it out: http://code.google.com/p/cat-language/source/checkout.
So Cat supports “self” types again which are references to enclosing functions. They are relatively rare in functions, but one example is the m combinator, defined as “dup apply” which has the type:
m : (’A (’A self -> ‘B) -> ‘B).
Anyway, I can’t sum up how happy I am to have this working with a minimum amount of pain.