1. 14

    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)
    Type providers 
    Units of measure
    
    1. 4

      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.

      1. 3

        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?

        1. 2

          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.

      1. 1

        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.

        1. 1

          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.

            1. 4

              Cape Town, South Africa