3 ms·
While this is a statement in some ways of preference it is a reasonable comment; not sure why it's getting downvoted. However, can you clarify why you would ar
by rit 15y ago
While this is a statement in some ways of preference it is a reasonable comment; not sure why it's getting downvoted.
However, can you clarify why you would argue for type classes over duck/structural typing? You indicate that 'type classes are the way to go' but don't explain why.
Scala of course does have a form of Type Classes and while they tend to be what I reach for more often than Structural Types in Scala, it doesn't obviate Structural Types completely and I'd be interested in analysis of the diffs.
- kscaldef 15y agoWith dynamic duck typing you just have to hope the object actually quacks. With type classes, the compiler proves it quacks.
- dan00 15y ago"However, can you clarify why you would argue for type classes over duck/structural typing? You indicate that 'type classes are the way to go' but don't explain why." Like kscaldef said, you know at compiletime if something can quack, and the overhead for doing this is quite small. Haskell: instance Quacker MySpecialDuck where quack = "qqquuuuuuaaaaaakkkkk" "Scala of course does have a form of Type Classes and while they tend to be what I reach for more often than Structural Types in Scala, it doesn't obviate Structural Types completely and I'd be interested in analysis of the diffs." In which cases do you need duck typing? Adding dynamically a method to a class?