[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

KCL bugs

Bug #1:  The expansion of the ETYPECASE macro is wrong, as it performs
the tests in reverse order.  Strangely enough, both TYPECASE and CTYPECASE
are correct.

Bug #2:  ASSOC does not know about the :KEY argument.  I haven't checked
on all of its variants.

Bug #3:  I have some code that works fine under VaxLisp, Lucid, and
PCLS, (and some parts of which have also been run under Symbolics CL,
Dec-20 CLisp, and HPCL), but the bizarre handling of top-level forms by
the compiler has been giving me no end of trouble in getting this code
to run under KCL.  In particular, if you turn *EVAL-WHEN-COMPILE* off,
you get effects like:

    IN-PACKAGE and friends are not recognized at compile time so all the
    symbols end up in the wrong package.  (This is clearly in violation
    of what CLtL says should happen.)

    DEFVAR is not recognized at compile time either so the compiler creates
    lexical bindings where it should be creating special ones.

    Macros defined via DEFMACRO are not available at compile time.  The
    compiler thinks they are functions.

    DEFSTRUCT cannot :INCLUDE other structure types defined earlier in
    the file.

I've been patching these things as I run into them but I don't doubt
there are other problems my code doesn't trigger.  KCL wouldn't be a bad
implementation if it weren't for the problems with the compiler