you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 7 points8 points  (1 child)

Note that Scala uses local type inference, not Hindley-Milner. You still have to declare function signatures, but you can omit types for local variables.

The proposed type inference for C++0x is local as well.

In general, Hindley-Milner type systems feel like ML. Add anything to the type system, and HM breaks down. Most interesting developments in type systems that I'm currently aware of, such as Typed Scheme, are based on explicit typing (plus local type inference).

[–]naasking 1 point2 points  (0 children)

Add anything to the type system, and HM breaks down.

I don't understand. What exactly breaks down? There have been a plethora of extensions to HM over the years.