3 ms·
MSR have had a few profitable collaborations with their .net language implementors. The generics system in c# for example was originally developed by Don Syme
by rlmw 16y ago
MSR have had a few profitable collaborations with their .net language implementors. The generics system in c# for example was originally developed by Don Syme (who also worked on f#) and Andrew Kennedy. I think once you've had a good example of a successful collaboration between the two groups you're more likely to see future cooperation. The local type inference in c# (the var keyword) I believe was also improved heavily by discussions with MSR.
With regards to your 'from scatch' question I think f# is designed in order to bring useful functional programming techniques to the .net community. This isn't necessarily possible to do with Haskell because of the difference between the way function calls work in lazy and strictly evaluated languages.
Its worth noting the other aspect of the f# story. Ocaml is a huge influence on the f# language design. It was originally pushed during the 1990s as a language that had combined functional programming with pragmatic compromises - for example OOP and the existance of an efficient implementation. Unfortunately the Ocaml implementation suffers from poor performance in multicore environments, particularly constrained by its garbage collection system. This wasn't a huge problem in the mid 90s, but its looking like a problematic design choice with hindsight. Since f# builds on the .net VM it doesn't have this multicore issue.