| >One actually has local type inference Which is totally orthogonal to the power and expressiveness of the type system. I specifically gave an example that C# also has crappy limited type inference too, and is still java-style static typing. >HM-style type inference is notoriously brittle Yeah, obviously no languages could possibly exist that use it with no problems. >One has nominal class types, the other has no class types (yet) What does being OO have to do with anything? I am talking about the expressiveness of the type system. The amount of things you can express in the type system. >One has intersection types, occurrence typing, "true" union types So racket has a partial implementation of ADTs? And that's it? Ok, you win, racket has java + 0.1 level of static typing, hooray! The point is, using static typing in racket gets you virtually nothing, because it is such a primitive type system. Go use ML or haskell and then compare it to typed racket. |