Sunday, September 11, 2011

DEFINE-METHOD-COMBINATION (long form) no longer experimental

Last year around the same time ABCL 0.23 was released. This release featured experimental support for the long form of DEFINE-METHOD-COMBINATION. Last February I started testing our implementation using tests that I found in SBCL's test suite. Unfortunately, I quickly found the implementation wasn't labeled experimental without reason and started fixing the tests one by one.

After other priorities interrupted my work in March, I picked up the remaining work two weeks ago. Today, I committed the last test cases ported from SBCL's test suite. They all work. Particularly hard to get right were the ones involving the (:ARGUMENTS . arguments-list) cases.

With the status that we have now DEFINE-METHOD-COMBINATION (long form) is no longer considered experimental! We're another step closer to full CLHS compliance!

2 comments:

  1. That's fantastic! I have a library (https://github.com/sellout/quid-pro-quo) that uses D-M-C pretty heavily and ABCL was one of the implementations that I couldn't support. I still need Closer-MOP support, but it's within reach now.

    ReplyDelete
  2. Rudi has recently started giving substantial help [c.f. r13766ff][r13766] to get to closer-mop for ABCL 1.1.

    [r13766]: http://trac.common-lisp.net/armedbear/changeset/13766

    ReplyDelete