|
|
|
|
|
by liquid_bluing
723 days ago
|
|
One of the most mind-bending papers on this topic is William Cook’s On Understanding Data Abstraction, Revisited
https://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf
“Object interfaces are essentially higher-order types, in the same sense that passing functions as values is higher-order. Any time an object is passed as a value, or returned as a value, the object-oriented program is passing functions as values and returning functions as values. The fact that the functions are collected into records and called methods is irrelevant. As a result, the typical object-oriented program makes far more use of higher-order values than many functional programs.“ |
|
[0]: https://www.haskellforall.com/2021/01/the-visitor-pattern-is...
[1]: https://news.ycombinator.com/item?id=26034790
[2]: https://news.ycombinator.com/item?id=26024600