Pyret Programming Language
I really like the in-function documentation and unit like testing in the where clause.<p>> # this is true<p>> ((1 / 3) * 3) == 1<p>This worries me. I know it is true mathamatically, but experience tells me trusting floats is a recipe for disaster. A approximate equal operator is safer.<p>Floats are such a leaky abstraction it is in my opinion better students know this early on.