|
|
|
|
|
by mjw
4216 days ago
|
|
Agreed. What I see as the core principles of OO (ad-hoc polymorphic dispatch and abstract data types) are present, useful and important in the FP world too. OO helped to bring attention to these ideas even if it didn't capture them in their purest and most general form. So I think we should be careful not the throw the baby out with the bathwater when criticising OO. > Pattern matching in functional languages solves this [polymorphic dispatch] in a different way. Pattern-matching doesn't give you late binding / ad-hoc polymorphism though, so while it's useful to replace static if statements or case statements, it's not a full replacement for OO's polymorphic dispatch. For that you need things like typeclasses in Haskell or multimethods in lisps. Wadler's famous expression problem is quite relevant here:
http://homepages.inf.ed.ac.uk/wadler/papers/expression/expre... |
|