Index: src/interp/hashcode.boot =================================================================== --- src/interp/hashcode.boot (Revision 338) +++ src/interp/hashcode.boot (Arbeitskopie) @@ -55,6 +55,7 @@ hash := hashCombine(hashType(arg, percentHash), hash) retCode := hashType(retType, percentHash) EQL(retCode, $VoidHash) => hash +-- hashCombine(retCode, hashCombine(32236, hash)) Index: src/interp/patches.lisp =================================================================== --- src/interp/patches.lisp (revision 338) +++ src/interp/patches.lisp (working copy) @@ -171,12 +171,12 @@ (browseopen) (|makeConstructorsAutoLoad|) (let ((asharprootlib (strconc (|getEnv| "AXIOM") "/aldor/lib/"))) - (set-file-getter (strconc asharprootlib "runtime.o")) - (set-file-getter (strconc asharprootlib "lang.o")) - (set-file-getter (strconc asharprootlib "attrib.o")) - (set-file-getter (strconc asharprootlib "axlit.o")) - (set-file-getter (strconc asharprootlib "minimach.o")) - (set-file-getter (strconc asharprootlib "axextend.o"))) + (set-file-getter (strconc asharprootlib "runtime")) + (set-file-getter (strconc asharprootlib "lang")) + (set-file-getter (strconc asharprootlib "attrib")) + (set-file-getter (strconc asharprootlib "axlit")) + (set-file-getter (strconc asharprootlib "minimach")) + (set-file-getter (strconc asharprootlib "axextend"))) ) (defun whocalled (n) nil) ;; no way to look n frames up the stack Index: src/interp/foam_l.lisp =================================================================== --- src/interp/foam_l.lisp (revision 338) +++ src/interp/foam_l.lisp (working copy) @@ -50,7 +50,7 @@ compile-as-file cases |Clos| |Char| |Bool| |Byte| |HInt| |SInt| |BInt| |SFlo| |DFlo| |Ptr| - |Word| |Arb| |Env| |Level| |Arr| |Record| + |Word| |Arb| |Env| |Level| |Arr| |Record| |Nil| |ClosInit| |CharInit| |BoolInit| |ByteInit| |HIntInit| |SIntInit| |BIntInit| |SFloInit| |DFloInit| |PtrInit| |WordInit| |ArbInit| |EnvInit| @@ -157,7 +157,7 @@ (deftype |Bool| () '(member t nil)) (deftype |Byte| () 'unsigned-byte) (deftype |HInt| () '(integer #.(- (expt 2 15)) #.(1- (expt 2 15)))) -(deftype |SInt| () 'fixnum) +(deftype |SInt| () '(integer #.(- (expt 2 31)) #.(1- (expt 2 31)))) #+:AKCL (deftype |BInt| () t) @@ -511,7 +511,7 @@ (defmacro |FunProg| (x) x) (defstruct FoamProgInfoStruct - (funcall nil :type function) + (funcall #'(lambda () (error "FoamProgInfoStruct: funcall not assigned")) :type function) (hashval 0 :type |SInt|)) (defun |ProgHashCode| (x) @@ -617,8 +617,15 @@ ;; macros for defining things (defmacro declare-prog (name-result params) - `(proclaim '(function ,(car name-result) ,params ,@(cdr name-result)))) + `(proclaim '(ftype (function + ,(mapcar #'cadr params) + ,(or (cadr name-result) 't)) + ,(car name-result)))) +;(defmacro declare-prog (name-result params) +; `(proclaim '(function ,(car name-result) ,params ,@(cdr name-result)))) + + (defmacro declare-type (name type) `(proclaim '(type ,name ,type))) Index: src/lisp/fricas-package.lisp =================================================================== --- src/lisp/fricas-package.lisp (revision 338) +++ src/lisp/fricas-package.lisp (working copy) @@ -1,14 +1,25 @@ ;;; We put this in separate file to avoid problems with compilation. (eval-when (:execute :compile-toplevel :load-toplevel) -(if (not (find-package "FRICAS-LISP")) - (make-package "FRICAS-LISP" - :use (list (or (find-package "COMMON-LISP") - "LISP"))))) + (if (not (find-package "FRICAS-LISP")) + (make-package "FRICAS-LISP" + :use (list (or (find-package "COMMON-LISP") + "LISP"))))) #+:sbcl (eval-when (:execute :compile-toplevel :load-toplevel) - (setf SB-IMPL::*DEFAULT-EXTERNAL-FORMAT* :LATIN-1)) + (setf SB-IMPL::*DEFAULT-EXTERNAL-FORMAT* :LATIN-1)) (in-package "FRICAS-LISP") + +;;; Aldor 1.1.0 produces in-package statements with :use options. These can be +;;; ignored, so we do not use +;;; (defpackage package options) +;;; (in-package package) +#+sbcl +(shadow "IN-PACKAGE" "FRICAS-LISP") +#+sbcl +(defmacro IN-PACKAGE (package &rest options) + `(COMMON-LISP:IN-PACKAGE ,package)) + (do-symbols (x "FRICAS-LISP") (export (list x))) (export '(quit chdir |getEnv| |load_quietly| get-current-directory @@ -33,3 +44,5 @@ #+:openmcl (eval-when (:execute :compile-toplevel :load-toplevel) (setf *features* (delete :CCL *features*)))