Interview with Don Syme, the inventor of F#
simple-talk.com
simple-talk.com
Uh, isn't F# mostly a derivative of OCaml (and Haskell)?
I'd much rather read an interview with Xavier Leroy, inventor of OCaml (which F# is basically a Microsoft appropriation of).
Kind of ironic, but quite typical, that the people who really deserve the credit get passed over in favor of imitators.
I don't know if it really is "the most original new face", and could be critized for trying to bring too many things into one, but it's not just a clone of Haskell or OCaml.
[edited typo]
Sorry, but F# basically is OCaml. F# code can even be compiled in an OCaml compiler, often without modification.
The only credit I'll give Microsoft here is in not picking a shitty technology to copy, like they usually do (like Java for C# or VMS for NT).
I think you have that backwards. The #light syntax preferred by F# is not compatible with ocaml. ocaml and the non light syntax are about the same though.
Computation Expressions aka Monads
"The designers of F# use term "computation expression" and "workflow" because its less obscure and daunting than the word "monad." [1]
Monads for Morts? seriously though, is anyone really daunted by Monads?
It is a great interview. Thanks for posting. F# is one thing I respect MS for. Linux/OSX really has no equivalent[2]. The ocaml implementation has a lot of catching up to do and Mono is a steaming pile of crap.
[1] http://en.wikibooks.org/wiki/F_Sharp_Programming/Computation...
[2] Equivalent to F# . HAskell is a different (but awesome) language , thankfully available on all platforms
My primary problem with it is its lack of a production grade precise compacting garbage collector.
Yeah, this is a big letdown. I'm surprised Novell can't devote the resources to finishing a halfway decent collector.
F#'s pattern matching and type inference alone are easily superior to equivalent C# code, pretty well objectively, not to mention natural immutability and inbuilt tuples; all of these features very quickly feel vital and are missed in other languages; not to mention the inherent usefulness of F# for concurrent programming.
With Mono you can use F# perfectly well in linux + on mac too, so there's no excuse for not trying it :)