4 ms·
F# is practically OCaml, from my understanding. I don't know if it has all the same current .NET multithreading support under Mono. Worth looking into.
by jackfoxy 14y ago
F# is practically OCaml, from my understanding. I don't know if it has all the same current .NET multithreading support under Mono. Worth looking into.
- pjmlp 14y agoI have adopted it as my main scripting language when doing Windows projects. :)
- opminion 14y agoWhat's a good F# tutorial/reference you've used?
- jackfoxy 14y agoSee my article http://jackfoxy.com/a-course-of-fsharp-study/ http://jackfoxy.com/a-course-of-fsharp-study/ I've got a bunch of references to F# tutorials, articles, and references. IMO the best tutorial is http://en.wikibooks.org/wiki/F_Sharp_Programming http://en.wikibooks.org/wiki/F_Sharp_Programming
- pjmlp 14y agoI already knew Caml so it was easy to learn F# just by reading the MSDN articles and Channel 9 videos. There is plenty of good stuff there. http://msdn.microsoft.com/en-us/magazine/ee310108.aspx http://msdn.microsoft.com/en-us/magazine/ee310108.aspx http://channel9.msdn.com/Tags/fsharp http://channel9.msdn.com/Tags/fsharp http://channel9.msdn.com/Tags/functional+programming http://channel9.msdn.com/Tags/functional+programming
- iskander 14y agoThey really diverge when it comes to more advanced language features. I make heavy use of functors in my code and my (possibly mistaken) understanding is that F# simply doesn't support them. Ditto for first-class modules, polymorphic variants, GADTs, and OCaml's object system. Of course, in exchange for a wimpier core, F# gives you a lot of convenient polish and proper support for parallelism & concurrency.
- nrlucas 14y agoMy understanding is the same. I, like you, haven't followed F# since it diverged so much in development, but it's understandable that those features would be in-commensurable with how it interoperates with the .NET framework.
- jackfoxy 14y agoMauricio Scheffer has written several articles about applicative functors in F# http://bugsquash.blogspot.com/search/label/applicative%20functors http://bugsquash.blogspot.com/search/label/applicative%20fun... To tell the truth I don't really get it, but maybe you do.
- mausch 14y agoML functors aren't the same thing as the functors or applicative functors I often blog about. Difference explained here: http://stackoverflow.com/questions/2030863/in-functional-programming-what-is-a-functor http://stackoverflow.com/questions/2030863/in-functional-pro... ML functors are like parameterized modules. F# doesn't have parameterized modules, but has parameterized classes, which work quite similarly. Classes/objects can also be used as first-class modules. What .NET lacks (therefore also F#) is type constructor abstraction, which means you can't generically express the concept of a (Haskell) functor, applicative functor, monad, etc.