Forth is actually a pretty interesting language, stackrobatics aside. Very simple language, extensible and untyped, the latter making writing a library of (data structures|containers) pretty straight forward. I personally think it should be a companion language to Scheme in the teaching of Computer Science, Forth being one step removed from Assembly, though I'd do away with stack manipulation and use local variables instead. Yes, Forth already has local variables but they use their own stack which means there's overhead in using local variables, since you have to keep moving data between stacks. Of course, an optimizing compiler could do away with that, but then you couldn't use the compiler code as a teaching tool to new students beacuse it would be too complicated. And having an extra stack for local variables gives Forth a grand total of 4 stacks, which doesn't fit very well with the most widespread cpu architectures today, their being one-stack architectures. Unless you ``freeze'' the stacks at runtime and merge them in one working stack, which means stack manipulatios would actually be done at compile time and sort of complicate things when combining stack manipulations and control flow structures. But I digress.