Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

typeclasses are definitely oo. just because it's compile-time polymorphism doesn't make it "not oop".


OOP is strictly run-time polymorphism. It may be that in some instances of OOP, what calls what is deducible at compile time. That subset alone is not OOP.

OOP means that an object which does not exist now can be written in the future, and loaded into code which has already been compiled and is already running now. The method calls in this existing code will correctly resolve to the method implementations in that object.


Then “OOP” is an entirely meaningless definition. Where exactly are the objects in Haskell?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: