The Expression problem

Helmut Eller eller.helmut@gmail.com
Wed Aug 31 07:13:44 GMT 2022


> I think Common Lisp generics are problematic if you have a module system
> (or library system to use R7RS terminology) based on static name resolution.
> CL generics assume a generic function is global, and as each module is loaded
> it dynamically adds methods to the generic procedure.  This is powerful,
> but seems contrary to modern module system.  I've thought a bit about
> how best to
> specify multi-methods in a more disciplined way.  It's not an easy problem.

I'm not sure what this has do with static name resolution specifically,
but I note that the Julia language seems to be somewhat successful
(ie. popular) with multi-methods that aren't all that different from
Common Lisp's generic functions.

It also seems me that the team behind the Fortress language tried pretty
hard to come up with a static type system for multi-methods.  They made
some progress, but in the end they failed.

I think that for Kawa a Julia-style approach would be "good enough".
Especially, as one can use Java interfaces in places where static typing
is a concern.

Helmut



More information about the Kawa mailing list