3 ms·
Haskell has no subtyping as far as I know Haskell.
by soc88 15y ago
Haskell has no subtyping as far as I know Haskell.
- timclark 15y agoHaskell has typeclasses which would probably correspond to structural typing in Scala. This type signature: Functor f => (a -> b) -> f a -> f b Defines map for any type that implements the type class functor. Lots of types will implement functor and it is easy to implement it yourself.
- masklinn 15y ago> Haskell has typeclasses which would probably correspond to structural typing in Scala. Nah, typeclasses are nominative typing but added post-facto (you can define a typeclass instance for a third party's type). Typeclasses are similar to Scala's traits I think (I don't know if you can add traits to a library's types though).
- jfager 15y agoYou get typeclasses in Scala via an interaction between traits and implicits. See http://www.sidewayscoding.com/2011/01/introduction-to-type-classes-in-scala.html http://www.sidewayscoding.com/2011/01/introduction-to-type-c... for a super-quick overview and a link to a more comprehensive paper.
- soc88 15y agohttp://hackerne.ws/item?id=3265598 http://hackerne.ws/item?id=3265598
- masklinn 15y agoIt does, but it does not support downcasting (it does support upcasting) For instance, the Ord typeclass extends the Eq typeclass, so any instance of Ord can be used as an instance of Eq. But there is no way to cast an instance of Eq to an instance of Ord.