I use OCaml, occasionally, especially for data/transpiler work. I've always wanted to try F#, but it being .NET sort of scares me away. I've always sort of admired the pragmatic beauty of the OCaml ecosystem--at least as much as one can call an ML-derivative 'pragmatic'--though I don't get that same feeling from F#.
Task expressions look neat though, and might give me a reason to try.
As somewhat of a functional programming nerd, and a perpetual user of Linux and Unix, I think F# is really very cool.
I am one of the happy few who has had paying work with F# when I worked at Jet and Walmart. I came in with primarily a Haskell background, and so I was expecting to hate it because I hate most things that Microsoft has attached its name to, but I ended up really liking it.
Just a note, while its syntax is similar to OCaml, its semantics are a bit different. You don't have the cool OCaml functors in the same way, but you do have Haskell-style "do" notation with monads, which is nice.
I haven't used OCaml in awhile so I can't go into a lot of detail on the differences between them, but the only things I really missed from Haskell are monad transformers and software transactional memory.
I definitely think it's worth playing with for an afternoon.
I have to use it (C#) for a required class in college, and I've been pleasantly surprised. I'm always a little suspicious of platforms backed by large companies, but I think at this point that's sorta an unavoidable reality.
It's a very practical ML-family language. It runs on Mac, Windows, and Linux. It doesn't really sacrifice anything, either. The last thing I delivered with it was a network health utility, which did UDP and TCP sockets and platform API calls very cleanly. It's really not a toy language. Distribution is cool too, because you can build for a system with the runtime installed or build a single-file executable. My suggestion: build a utility program with it for your own purposes and if you're productive with it.
Interesting! We're building a bindings generator for a C++ library, and the current prototype is written in OCaml. I might shift it over to F# and see what's up.
tombert|20 days ago
I am one of the happy few who has had paying work with F# when I worked at Jet and Walmart. I came in with primarily a Haskell background, and so I was expecting to hate it because I hate most things that Microsoft has attached its name to, but I ended up really liking it.
Just a note, while its syntax is similar to OCaml, its semantics are a bit different. You don't have the cool OCaml functors in the same way, but you do have Haskell-style "do" notation with monads, which is nice.
I haven't used OCaml in awhile so I can't go into a lot of detail on the differences between them, but the only things I really missed from Haskell are monad transformers and software transactional memory.
I definitely think it's worth playing with for an afternoon.
olivia-banks|20 days ago
sieep|20 days ago
olivia-banks|20 days ago
mulmen|20 days ago
ibejoeb|20 days ago
olivia-banks|20 days ago