OO and Functional, Cats and Dogs
Simon Harris, Functional programming in object oriented languages:
I’ve starting to think of constructor arguments as the mechanism for partially applying all the methods on an object. Considering an object as a partial application of a set of methods is really quite interesting to me. It almost dictates that methods MUST operate, in some way, on the state of the object — just as we always read good OO code should — only there’s a nice explanation as to why: If they didn’t operate on the object’s state, they wouldn’t be partially applied.