No announcement yet.

Mono Picking Up F# Support For Linux, Mac OS X, Etc

  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    From the MSDN article:
    ... in particular we understand the role that open source versions of languages can play in education and research circles, and as a result can give extra reach to a Microsoft-sponsored language technology.
    Translation: We want to be hip like Google Go and other open source languages that call us square.


    • #12
      Originally posted by Jimmy View Post
      From the MSDN article:

      Translation: We want to be hip like Google Go and other open source languages that call us square.
      Which is a good thing for us.


      • #13
        Originally posted by BlackStar View Post
        Actually, it's a multi-paradigm language that supports functional, object-oriented and imperative (ugh) programming. It is very similar to Ocaml but has simpler/more readable syntax.

        Technically, it has several qualities that make it really powerful:
        - static typing with extensive type inference.
        - built-in support for asynchronous programming.
        - built-in support for units-of-measure. If you define x(m) as position, t(sec) as time and v(m/sec) as velocity, the compiler will let you assign "x = v*t" but will raise an error if you try to do "x = t". This is all compile-time (no performance penalty).
        - it can consume any Mono/.Net and Java(IKVM) library.
        - it has first-class IDE and debugging support (MonoDevelop/Visual Studio).

        Historically, functional languages have historically lived in their own, fragmented little worlds. This may be the first that actually stands a chance to become mainstream, which is quite exciting in itself. (I've actually seen job postings for F#, which I've never seen for Haskell, Lisp or *ML).

        Finally, this is an open-source project implemented by Microsoft and shipped in Visual Studio. Note that Apache 2.0, section 3, grants an irrevocable patent license - could it be that the behemoth is slowly turning around?
        That's right. I do vaguely recall it being called multi-paradigm, but I've never played with such a language that was actually able to work well using different programming models.
        The asynchronous stuff is quite standard for declarative languages, so that's no big deal. Haskell has useful type checking from my experience. The units support is interesting. I've never heard of that.

        Thanks for the information.