A look beyond OOP as we know it today can also be done by thinking about Late Binding. Prolog's great idea is that it doesn't need binding to values in order to carry out computations [Col **]. The variable is an object and a web of partial results can be built to be filled in when a binding is finally found. Eurisko [Lenat **] constructs its methods—and modifies its basic strategies—as it tries to solve a problem. Instead of a problem looking for methods, the methods look for problems—and Eurisko looks for the methods of the methods. This has been called "Opportunistic Programming"—I (Alan C. Kay) think of it as a drive for more enlightenment, in which problems get resolved as part of the Process.
~
KAY, Alan C., 2021. The early history of Smalltalk. Wayback Machine. pdf .
The Early History Of Smalltalk, 2021. worrydream , github .