I’ve been investigating F# recently and have been incredibly impressed.
I’m sure a lot of OCaml developers will disagree, but to me it is a much more practical version of that language.
It seems to take the best of OCaml and improve on it, for example:
Proper multicore support out of the box
One standard library (.NET)
Units of measure
I understand your argument, and will agree that some of your points are in fact problematic but I’ll disagree on one point:
best of OCaml
I find that taking an ML like OCaml and ripping out the M part is a pretty big change and rather not for the better. Also, personally, ripping out the O part of OCaml is also sad because objects are rather interesting and fit surprisingly well into the language, some syntactic weirdities notwithstanding.
F# does support objects, although I think they are implemented a little differently in order to support .Net compatibility.
What sort of features is F# missing compared to OCaml objects?
For myself, I have a hard time working in a language that doesn’t have an ML-style module system. It’s just SO GOOD.
This is one of the core principals of the Go community and I think one of the reasons it is so successful. It was really refreshing after only about a week with the language to be able to dive into almost any Go code base, including the standard library, and clearly understand what the code was doing.
It’s going to be interesting to see how this affects online poker.
A lot of bots already exist, but bots that are consistently better than humans are really going to increase the arms race between poker sites and bot authors.
This is a summary, the original post is here:
Cape Town, South Africa
It’s available as in iOS game:
On Android as well: https://play.google.com/store/apps/details?id=com.magmamobile.game.UltimateTicTacToe