>>5
I just had to reply to that (in the least time consuming way possible). It is so annoying. I feel like he is expecting Lisp and is pissed that it's not lisp. He actually complained about not having dynamic types...
False Sense of Security
I am sorry that you are retarded.
Few Basic Types
Ocaml has matrices now (Bigarray). One floating point type can be nice or not nice. There are modules.
Silent Integer Overflow
Hurrr.
Module Immutability
Keep your own functions in your own modules. You should not be changing module signatures randomly.
Polymorphism Causes Run-time Type Errors
This cannot be avoided wit ad-hoc polymorphism.
No Macros
Kill yourself. Also, camlp4.
Record field naming hell
Records are typed. It can be good or inconvenient. Also, variant labels.
No Polymorphism
Kill yourself. This is supposed to be strictly typed language. Stop complaining about there being no automatic coersion.
Inconsistent function sets
An actual point.
No dynamic variables
KILL YOURSELF.
Optional arguments suck
I think they are good and very useful. Expecially when using foreign functions.
Partial argument application inconsistency (for optional arguments)
Maybe a good point.
Arithmetic's readability (for example Int64)
He doesn't want to define infix operations or have macros. What the fuck does he want?
Silent name conflict resolution
Point.
Order of evaluation
This is a function language, retard.
No object input/output (ie. print is not polymorphic)
Point. This might be nice.
Complains about debuggin.
Actually good points. Though I don't mind the debugging problems because the debugger can backtrack (this is incredibly useful).
GC sucks
I guess. I don't know about this.
Function round is absent
Sorry you are retarded.
List.map is not tail-recursive!
An actual annoyance.
Lists are immutable, thus cannot be spliced - non-consing operation is impossible.
Kill yourself. It's not meant to be b/c this is a functional language, retard. (Also, Stack module)