3 ms·
OCaml: 5) Polymorphic comparison is an ugly hack and land you in an infinite loop when accidentally used on a circular imperative structure. Type classes (spec
by iskander 16y ago
OCaml:
5) Polymorphic comparison is an ugly hack and land you in an infinite loop when accidentally used on a circular imperative structure. Type classes (specifically, an Ord type class) would fix this problem.
4) Arbitrary gaps and inconsistencies in the standard library. Extlib and Batteries go a long way to fix this, but the language really just needs a standard library overhaul.
3) Inefficient data representation and wonky hacks to optimize a few special cases (e.g. 31/63 bit integers).
2) Absolutely terribly C interface which requires deep knowledge of the runtime data layout.
1) Too many languages in one: OCaml is the awkward synthesis of an awesome module system (functors, first class modules, etc...), a slightly confusing but cool object system, the classic ML core, and some random fancy features (such as polymorphic variants). The interaction of these parts ends up being pretty confusing.
All that said, it's still my favourite language.