3 ms·
If I remember correctly the CLR implementation of Scala was scrapped because there were some limitations with the CLR's reified generic type system that made it
by gilbertw1 12y ago
If I remember correctly the CLR implementation of Scala was scrapped because there were some limitations with the CLR's reified generic type system that made it impossible to express scala's type system.
I even believe that Microsoft research tried to find a solution for a while, but were unable. I'll try and find some references if I can.
Edit:
This link has some good info in it:
http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2228766-add-higher-order-generics-to-f-type-classes http://visualstudio.uservoice.com/forums/121579-visual-studi...
Looks like the CLR can't represent higher kinded types at runtime using the reified type system.
- seanmcdirmid 12y agoIt kind of worked (I actually used it), but I don't think there was enough interest in it. Java is clearly dated on the JVM, but C# isn't that bad, and there is also F#. The CLR just doesn't need Scala as bad as the JVM did (and vice versa). There was never going to be a strong ecosystem there, even if there was a perfect version of scalac working. You can easily erase to the CLR like you can on the JVM, the only issue is interop with .net APIs that use generics, of which this mostly means LINQ.
- kvb 12y agoThe JVM doesn't directly support higher-kinded types either. It might be a pain to come up with a scheme that interops nicely with other .NET languages, but in principle there doesn't seem to be anything that would make it impossible to build a Scala compiler for .NET (though it might involve lots of boxing and downcasts).