Remix.run Logo
doug-moen 3 days ago

Didn't Lisp solve this problem in the 1980's with generic functions and multiple dispatch? I'm referring to the Common Lisp Object System (CLOS), and its predecessors, New Flavors and CommonLoops. I see no mention of this prior art in the paper.

CLOS is an object-oriented system, which solves the problem of adding new functions without modifying existing class definitions, by placing generic functions outside of class definitions.

kazinator 3 days ago | parent [-]

A group of generic functions comprise a protocol of some kind. Sometimes you cannot extend in the way you need without changing the protocol.