[elephant-devel] Status of 4.0 ---- apparently OK, but some minor problems....

Robert L. Read read at robertlread.net
Tue Jan 10 21:23:04 UTC 2006


Dear Team,

    I was out of touch this weekend on another project.  Before the
weekend I sent 
a note questioning whether 4.0 really worked with ACL.  Andrew Philpot
has 
been doing a great job sending me suggestions, which I have not been
able to 
keep up with.  Based on what he is sent me, I think it is clear:

1)  4.0 does work with ACL-6.2
2)  4.0 does probably has a type-specific bug with ACL-7.0 (see below)
3) Andrew has pointed out a lot of mis-organization of the code in terms
of circular references and so forth that produce compiler warnings but 
are not fatal.

I have not had time to digest his suggestions; I also am not really an
expert
in this sort of thing although I am learning.  I will continue to work
with him
and will study his suggestions later in the week.  

Basically, it seems like to clarify and improve the code quality, I need
to 
do some significant reorganization.  As far as I know, it remeains true
that 0.4.0
is the best release so far.


Andrew Philpot wrote:




The type declarations in controller.lisp in the following

(defun add-index-from-index (iname v dstibt dstsc)
  (declare (type btree-index v)
           (type indexed-btree dstibt))
  (let ((kf (key-form v)))
    (format t " kf ~A ~%" kf)
    (let ((index
           (build-btree-index dstsc :primary dstibt
                              :key-form kf)))
      ;; Why do I have to do this here?
      (setf (indices dstibt) (make-hash-table))
      (setf (indices-cache dstibt) (make-hash-table))
      (setf (gethash iname (indices-cache dstibt)) index)
      (setf (gethash iname (indices dstibt)) index)
      )
    )
  )

apparently are seen before the type is visible in ACL:

; While compiling ADD-INDEX-FROM-INDEX:
Warning: Ignoring declaration of unrecognized type: BTREE-INDEX
Warning: Ignoring declaration of unrecognized type: INDEXED-BTREE


I still have migration/*test-path-secondary* turned off

In acl6.2

5 out of 106 total tests failed: ELEPHANT-TESTS::MIGRATE1, 
   ELEPHANT-TESTS::MIGRATE2, ELEPHANT-TESTS::MIGRATE3, 
   ELEPHANT-TESTS::MIGRATE4, ELEPHANT-TESTS::MIGRATE5.

In acl7.0

6 out of 106 total tests failed: ELEPHANT-TESTS::ARRAYS-1, ELEPHANT-
TESTS::MIGRATE1, 
   ELEPHANT-TESTS::MIGRATE2, ELEPHANT-TESTS::MIGRATE3, ELEPHANT-
TESTS::MIGRATE4, 
   ELEPHANT-TESTS::MIGRATE5.

The difference is in serializing that funny array with element-type
(UNSIGNED-BYTE 20)

    ELE-TESTS(30):           (in-out-value (make-array '(3 4 5) 
                                           :element-type 
                                           '(unsigned-byte 20)))
     0[1]: (SERIALIZE #<Array of rank 3 @ #x71e874c2>
                      #S(SLEEPYCAT:BUFFER-STREAM :BUFFER
2684465168 :SIZE 0 :POSITION 0 :LENGTH 5184))
    Error: #<unknown object of type number 56 @ #x71b0dc22> fell through
a ETYPECASE form.  The valid
           cases were FIXNUM, NULL, SYMBOL, STRING, PERSISTENT, SINGLE-
FLOAT, DOUBLE-FLOAT, CHARACTER,
           PATHNAME, INTEGER, RATIONAL, CONS, HASH-TABLE, STANDARD-
OBJECT, and ARRAY.
      [condition type: CASE-FAILURE]

    Restart actions (select using :continue):
     0: Return to Top Level (an "abort" restart).
     1: Abort entirely from this (lisp) process.
    [1] ELE-TESTS(31): :reset
     0[1]: returned-by-throwing NIL
    ELE-TESTS(32): 

#Andrew


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20060110/3c32bd92/attachment.html>


More information about the elephant-devel mailing list