april
april copied to clipboard
LispWorks 8.0.1 and April from Master (13. Jan 2024)
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))
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.
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
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.
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.
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.