april icon indicating copy to clipboard operation
april copied to clipboard

LispWorks 8.0.1 and April from Master (13. Jan 2024)

Open lispm opened this issue 1 year ago • 5 comments

Using LispWorks 8.0.1 ARM64 on Linux

I've compiled April and ran demo + test successfully. Ran demo and tests quick, no delays.

Problems:

  • default character type needs to be set:

(lw:set-default-character-element-type 'cl:character)

  • spec.lisp, the forms at the end of the file needed to be executed during compilation, too
(eval-when (:execute :load-toplevel :compile-toplevel)
   (april-create-workspace common))
(eval-when (:execute :load-toplevel :compile-toplevel)
   (april-create-workspace unit-test-staging))

lispm avatar Jan 13 '24 22:01 lispm

Thanks for testing ARM LispWorks, these changes have been added. Also, could you try running the library tests? April has some more tests for its included libraries, these tests can be run by evaluating (load-libs) (run-lib-tests) within the April package.

phantomics avatar Jan 14 '24 17:01 phantomics

The phinary tests seem to have a problem. Example:

_ phinary 42

Condition: In a call to (SETF AREF): -2 (of type FIXNUM) is not of type (SIGNED-BYTE 1).

Call to LPARALLEL.KERNEL::CALL-WITH-TRACKED-ERROR {offset 696}
  CONDITION                                     : #<CONDITIONS:TYPE-ERROR-FUNCTION 501011E253>
  LPARALLEL.KERNEL::BODY-FN                     : #<Closure 1 subfunction of (HARLEQUIN-COMMON-LISP:SUBFUNCTION 2 LPARALLEL.KERNEL::MAKE-DEBUGGER-HOOK) 5020196F99>
  LPARALLEL.KERNEL::*DEBUGGER-ERROR*  {Special} : #<CONDITIONS:TYPE-ERROR-FUNCTION 501011E253>

...

Call to ERROR {offset 152}
  SYSTEM::ESTRING : CONDITIONS:TYPE-ERROR-FUNCTION
  SYSTEM::EARGS   : (:EXPECTED-TYPE (SIGNED-BYTE 1) :DATUM -2 :FUNCTION (SETF AREF))

Call to SYSTEM::SET-SVREF-NO-CHECK$SIGNED-I-VECTOR$FIXNUM$INTEGER {offset 780}
  VECTOR        : #(-1 -1 -1 -1 -1 -1 -1 -1)
  SYSTEM::INDEX : 1
  SYSTEM::VALUE : -2

Call to SYSTEM::ROW-MAJOR-ARRAY-ACCESS {offset 452}
  ARRAY         : #(-1 -1 -1 -1 -1 -1 -1 -1)
  SYSTEM::INDEX : 1
  SYSTEM::SET-P : T
  SYSTEM::VALUE : -2

Call to (HARLEQUIN-COMMON-LISP:SUBFUNCTION 1 (HARLEQUIN-COMMON-LISP:SUBFUNCTION 1 VARRAY::GET-INDEXING-FUNCTION)) {offset 1020}
  VARRAY::START-INTERVALS      : 0
  VARRAY::START-AT             : 0
  COUNT                        : 8
  VARRAY::I                    : 1
  DBG::|to-|                   : 7
  VARRAY::INDEX  {Closed}      : 0
  VARRAY::INTERVAL  {Closed}   : 8
  VARRAY::TOTAL-SIZE  {Closed} : 8
  VARRAY::DIVISIONS  {Closed}  : 1
  VARRAY::TO-CALL  {Closed}    : #<Closure 2 subfunction of (METHOD VARRAY::RENDER (VARRAY)) 5020253449>
  VARRAY::SBESIZE  {Closed}    : 1


lispm avatar Jan 20 '24 16:01 lispm

I also had to use EVAL-WHEN in the various setup files.

Example error:

;;; Compiling file /home/joswig/Lisp/april-master/libraries/dfns/array/setup.lisp ...
;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 1
;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3
;;; Source level debugging is on
;;; Source file recording is  on
;;; Cross referencing is on
; (LISPWORKS:TOP-LEVEL-FORM 0)
; (LISPWORKS:TOP-LEVEL-FORM 1)
; (LISPWORKS:TOP-LEVEL-FORM 2)

**++++ Error between functions:
  Package APRIL-WORKSPACE-ARRAY-LIB-SPACE not found.
;; Processing Cross Reference Information
; *** 1 error detected, no fasl file produced.

lispm avatar Jan 20 '24 16:01 lispm

Update: I've added the eval-when forms directly into the april-create-workspace macro. They should now apply to all workspace creation. Could you try running the tests again and check? I'll check further into the phinary problem but I may need to run my own copy of ARM64 LW to do it.

phantomics avatar Feb 23 '24 18:02 phantomics

The phinary bugs you found should be fixed now, I've tested on multiple implementations. If you'd like to do a test run on ARM64 I'd be interested to hear the results.

phantomics avatar Mar 09 '24 15:03 phantomics