> Existential types are pretty much the sane cousin of wildcards and necessary > in some places.
Other than Java interop? C# has a similar type system to Java and doesn't seem to need them, but maybe its programmers replace them with some runtime casting. > I'm pretty much against removing implicits, they are one of the key features > of the language. I wonder what the whole angst is all about. Java has > implicit conversions, C# has implicit and explicit conversions and those two > languages are still alive. Java's implicit conversions are a fixed set, as you know. C#'s do not make methods available on the value, so if you have a conversion from Dollar to Euro you can't do mySavingsInDollars.BailOut(greece); you need ((Euro)mySavingsInDollars).BailOut(greece);, where BailOut only exists on Euro, not on Dollar. Or you can use a temporary variable as in, Euro inEuros = mySavingsInDollars; and that triggers the implicit conversion. Trust me, the example I wrote and deleted before that one was worse! So C#'s conversions are slightly more straightforward and are not appropriate for Scala's main use of them. Luckily C# has extension methods that cover that use case. To be more exact, I would remove the 'implicit search' where Scala's compiler looks for an appropriate type to convert a value to to make a method applicable, but C#'s and Java's implicit conversions are not, to me, an issue. -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
