Ah... I forgot to complete parse-keyword-formals, which is currently only rudimentary and doesn't compose the correct argument list for (next-method).

There will be a version 3...

On Sun, Nov 24, 2024 at 3:43 PM Mikael Djurfeldt <mikael@djurfeldt.com> wrote:
Guile maintainers might want to consider if we should time this kind of change in the API with a particular release. For my part, I think we could just add it.

On Sun, Nov 24, 2024 at 3:40 PM Mikael Djurfeldt <mikael@djurfeldt.com> wrote:
This is my second attempt at introducing keyword aware methods in GOOPS.

I was split but finally decided to go with keeping keyword non-aware define-method and method and introducing keyword aware new syntax method* and define-method*. Arguments are:

1. It preserves simplicity in method and define-method such that other implementations (like guile-hoot) can choose to only define these (and possibly provide something like Mark's macro doe define-method*).
2. It aligns with lambda* and define*.
3. It is somewhat better at protecting backward compatibility.
4. It preserves the option to also in the internal implementation use something like Mark's macro once this gives equal performance.

I've also committed these changes to


I'm going to start documenting this now and will then commit it to the Guile repo.

Best regards,
Mikael