Sure, OCaml allows you to specify new operators, but the rules are pretty simple, and you cannot arbitrarily fuck up the syntax.
A few years ago I took a unit in my comp sci degree, "Programming Paradigms". The language used for teaching was F#, which is heavily inspired by OCaml. At one point we were given readings on OCaml programs and a particular operator popped up -- something like "is subtype of", I fail to recall exactly -- and it looked like :>? or :?> or similar.
I bitched loudly in the unit forum about this operator, whereupon the professor politely informed me that he, in fact, had invented that little bit of syntax when he was a PhD student at INRIA.
He didn't flunk me! Dr Rowan Davies, still the most scary-smart computer scientist I've met.
If you're going to complain about OCaml's syntax, I would start with having to use different arithmetic ops for int vs. floating point (+ vs. +.) and different indexing operators for strings and arrays ( s.(0) vs. s.[0] ).
You get used to it pretty quickly, and OCaml more than makes up for it in other ways, but it is a bit annoying.
But I love OCaml, I don't why it isn't more hacked/forked.
Because it has a fucked-up licence - you're not allowed to "fork" it in the usual sense of the word, you can only distribute the original source, and your modifications in a patch. The "free-for-all" licence is only available to commercial users.
It's simple, predictable and easy to read.
This obsession with boiling everything down to strings of symbols is how folk wind up making fun of Perl and OCaml.
What's this do?
Or this? Buggered if I know. Only a professional Perl or OCaml programmer could tell you -- and indeed I made those up. Only a professional Perl or OCaml programmer could tell if they do anything at all.But pretty much anyone from any language background can eyeball an Algol-family syntax and tell you what's going down.