New ECL with better type propagator finds bug in maxima
Subject: New ECL with better type propagator finds bug in maxima
From: Andreas Eder
Date: Mon, 03 Aug 2009 18:22:23 +0200
Hi David,
>>>>> "David" == David Kirkby <david.kirkby at onetel.net> writes:
David> The comments of Juanjo are:
David> -------------------------------------------
David> Ooops, ECL now implements a better type propagator, which has detected
David> an error in the following function
David> (defun queue+p (nd lab)
David> (cond ((null (setq *db* (+labs nd)))
David> [...] (t
David> (iorm *db* (logior +lab-high-bit+ (unlab lab))))))
David> Based on this definition
David> (defmacro iorm (cell n)
David> `(rplaca ,cell (logior (car ,cell) (car ,n))))
David> the second argument to (IORM *db* ...) should be a cons, not an
David> integer.
this is a known problem, that manifests itself also with SBCL,
though doesn't hinder generating a compiled files.
The problem is that db.lisp is not well documented and nobody
seems to know what queue+p should really be doing. I can make a
guess what it should look like, but that's it. :-(
'Andreas
--
ceterum censeo redmondinem esse delendam.