Summary
The next version of the Cat programming language, contains namespaces and type annotations.
Advertisement
The upcoming version of Cat, which is still undergoing testing, implements type annotations and namespaces.
The type annotation of Cat is based on the idea that every program, or subprogram, is a transition from one stack to another. For example the following is the type annotation for several of the atomic programs of Cat (the primitives if you prefer):
> I am curious about why Clear is annotated as (any*) ~> (), > and not (any*) -> ().
My reasoning is because it consumes a variable number of stack elements. If it called as part of a conditional, it would leave the stack in an unstable state.