Le 28/02/2026 23:08 CET, Faré <fahree@gmail.com> a écrit :
Are there good motivational examples that fit in a couple of pages?
The paper's example doesn't really show their full expressive power. You can define partial functions similar to some of what you can do with dependant types (as in Rocq/Coq or Idris). The more you lean on object-orientation (putting the data in one object rather than spread across the arguments to the generic function), the more expressive you can be.
If that's interesting, you might look through the Idris book for examples, it has some good ones. Also worth noting that since the paper above was published, SKILL++ had its object system updated to include essentially all of CLOS, as well as support for custom specializers.
We used them in production for a number of years. However, the code base that used them was recently simplified to make minimal use of multiple dispatch, method combinations, and custom specializers. We found using a more Smalltalk-style approach to object orientation to be beneficial to overall code quality and reliability of the system.
-Thomas