Hacker News new | ask | show | jobs
by sesm 4566 days ago
Haskell: ML is eager.

Go: callback hell is hard to manage, but threads are too expensive.

2 comments

If we're 'fixing' ML, type classes are a huge fix for the kludgy-yet-precise 2 + 3 => 5, 2.0 +. 3.0 => 5.0 .
Isn't "+." an ocaml thing rather than ML in general? I think SML had overloaded numeric operators, though I think that's a special case (i.e. type classes are still better)
Yep, you're right :). I opened the Standard ML book, and there on p75 they list * :: num * num -> num. Then at the bottom they say each function declared as such really has two definitions, one with num replaced by int and one with num replaced by real.

So yes, +. is just an ocaml thing. Not sure about caml.

Haskell is a far cry from just lazy ML. Oddly enough, your summary of go would be far more appropriate for haskell, which makes go's concurrency handling look primitive.