3 ms·
If Clojure and Scala are popular on the JVM, then why not F# on .NET? And you can write F# code in Emacs, as God intended. > Why not more effort porting an exi
by suranap 16y ago
If Clojure and Scala are popular on the JVM, then why not F# on .NET? And you can write F# code in Emacs, as God intended.
> Why not more effort porting an existing language to the CLR?
It didn't work very well. The mismatch between your favorite language and .NET caused 2 problems. First, the procedural/OO style required to interop with .NET bled into the rest of the program. Second, performance sucked for dynamic types, tailcall, small object allocation, etc. The result was you'd write a program in your language that looked similar to C# but ran 2X slower.
Scala and Clojure get around this by being new languages that try to match the JVM platform better. Plus they provide fat libraries so you don't have to see Java objects too often.
> F# is cool, but C# 4.0 does not seem to lack much, feature-wise.
C# doesn't have algebraic data types, pattern matching, currying, active patterns, metaprogramming, asynch workflows and global type inferencing. There's more, but you see my point.