Skip to content

Commit 6c0937c

Browse files
committed
Spelling: multimethod. Add related link to the expression problem.
1 parent 5062389 commit 6c0937c

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

doc/readings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ The common denominator is programming. Some relate to language design, some to c
3636
- [William R. Cook, OOPSLA 2009: On Understanding Data Abstraction, Revisited](https://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf).
3737
- This is a nice paper illustrating the difference between *abstract data types* and *objects*.
3838
- In section 4.3: *"In the 1970s [...] Reynolds noticed that abstract data types facilitate adding new operations, while 'procedural data values' (objects) facilitate adding new representations. Since then, this duality has been independently discovered at least three times [18, 14, 33]."* Then: *"The extensibility problem has been solved in numerous ways, and it still inspires new work on extensibility of data abstractions [48, 15]. Multi-methods are another approach to this problem [11]."*
39-
- Multi-methods (as in multiple dispatch in CLOS or in Julia) seem nice, in that they don't enfore a particular way to slice the operation/representation matrix. Instead, one fills in individual cells as desired.
39+
- Multimethods (as in multiple dispatch in CLOS or in Julia) seem nice, in that they don't enfore a particular way to slice the operation/representation matrix. Instead, one fills in individual cells as desired. It solves [the expression problem](https://en.wikipedia.org/wiki/Expression_problem).
4040
- In section 5.4, on Smalltalk: *"One conclusion you could draw from this analysis is that the untyped λ-calculus was the first object-oriented language."*
4141
- In section 6: *"Academic computer science has generally not accepted the fact that there is another form of data abstraction besides abstract data types. Hence the textbooks give the classic stack ADT and then say 'objects are another way to implement abstract data types'. [...] Some textbooks do better than others. Louden [38] and Mitchell [43] have the only books I found that describe the difference between objects and ADTs, although Mitchell does not go so far as to say that objects are a distinct kind of data abstraction."*
4242

0 commit comments

Comments
 (0)