diff --git a/src/clos/macros.lsp b/src/clos/macros.lsp index 5a00d687e..4b75994b0 100644 --- a/src/clos/macros.lsp +++ b/src/clos/macros.lsp @@ -68,8 +68,8 @@ ;;; ECL implementation: -(declaim (function si:instance-ref (t fixnum) t)) -(declaim (function si:instance-set (t fixnum t) t)) +(declaim (ftype si:instance-ref (t fixnum) t)) +(declaim (ftype si:instance-set (t fixnum t) t)) ;;; ---------------------------------------------------------------------- ;;; Class CLASS diff --git a/src/cmp/cmpenv.lsp b/src/cmp/cmpenv.lsp index 6d046a864..04aff416a 100644 --- a/src/cmp/cmpenv.lsp +++ b/src/cmp/cmpenv.lsp @@ -242,20 +242,14 @@ (if (consp (cdr decl)) (proclaim-var (second decl) (cddr decl)) (warn "The type declaration ~s is illegal." decl))) - ((FIXNUM CHARACTER SHORT-FLOAT LONG-FLOAT) - (proclaim-var (car decl) (cdr decl))) (FTYPE (cond ((and (consp (cdr decl)) - (consp (second decl))) - (eq (caadr decl) 'FUNCTION) + (consp (second decl)) + (eq (caadr decl) 'FUNCTION)) (dolist (v (cddr decl)) (add-function-proclamation v (cdr (second decl))) )) (t (cmpwarn "Bad function proclamation ~a" decl)))) - (FUNCTION - (cond ((and (consp (cdr decl))) - (add-function-proclamation (second decl) (cddr decl))) - (t (cmpwarn "Bad function proclamation ~a" decl)))) (INLINE (dolist (fun (cdr decl)) (if (symbolp fun) @@ -289,7 +283,7 @@ LONG-FLOAT NIL NULL NUMBER PACKAGE PATHNAME RANDOM-STATE RATIO RATIONAL READTABLE SEQUENCE SHORT-FLOAT SIMPLE-ARRAY SIMPLE-BIT-VECTOR SIMPLE-STRING SIMPLE-VECTOR SINGLE-FLOAT STANDARD-CHAR STREAM STRING - SYMBOL T VECTOR SIGNED-BYTE UNSIGNED-BYTE) + SYMBOL T VECTOR SIGNED-BYTE UNSIGNED-BYTE FUNCTION) (proclaim-var (car decl) (cdr decl))) (otherwise (unless (member (car decl) *alien-declarations*) @@ -387,7 +381,7 @@ RANDOM-STATE RATIO RATIONAL READTABLE SEQUENCE SIMPLE-ARRAY SIMPLE-BIT-VECTOR SIMPLE-STRING SIMPLE-VECTOR SINGLE-FLOAT STANDARD-CHAR STREAM STRING SYMBOL T VECTOR - SIGNED-BYTE UNSIGNED-BYTE) + SIGNED-BYTE UNSIGNED-BYTE FUNCTION) (let ((type (type-filter (car decl)))) (when type (dolist (var (cdr decl)) @@ -436,13 +430,6 @@ (dolist (fname (cddr decl)) (add-function-declaration fname (cadadr decl) (cddadr decl))))) - (FUNCTION - (if (or (endp (cdr decl)) - (endp (cddr decl)) - (not (symbolp (second decl)))) - (warn "The function declaration ~s is illegal." decl) - (add-function-declaration - (second decl) (caddr decl) (cdddr decl)))) (INLINE (push decl dl) (dolist (fun (cdr decl)) diff --git a/src/lsp/proclaim.lsp b/src/lsp/proclaim.lsp index 5cfc8913b..b550f9382 100644 --- a/src/lsp/proclaim.lsp +++ b/src/lsp/proclaim.lsp @@ -1,145 +1,145 @@ (in-package "SYSTEM") -(proclaim '(FUNCTION DEFMACRO* (T T T) T)) -(proclaim '(FUNCTION DM-VL (T T T) T)) -(proclaim '(FUNCTION DM-V (T T) T)) -(proclaim '(FUNCTION DM-NTH (T T) T)) -(proclaim '(FUNCTION DM-NTH-CDR (T T) T)) -(proclaim '(FUNCTION DM-BAD-KEY (T) T)) -(proclaim '(FUNCTION DM-KEY-NOT-ALLOWED (T) T)) -;(proclaim '(FUNCTION FIND-DOC (T T) T)) -;(proclaim '(FUNCTION FIND-DECLARATIONS (T) T)) -(proclaim '(FUNCTION CLEAR-COMPILER-PROPERTIES (T) T)) -(proclaim '(FUNCTION TERMINAL-INTERRUPT (T) T)) -(proclaim '(FUNCTION BREAK-LEVEL (T T) T)) -(proclaim '(FUNCTION TPL-MAKE-COMMAND (T T) T)) -(proclaim '(FUNCTION TPL-PARSE-STRINGS (T) T)) -(proclaim '(FUNCTION TPL-PRINT (T) T)) -(proclaim '(FUNCTION TPL-UNKNOWN-COMMAND (T) T)) -(proclaim '(FUNCTION TPL-GO (T) T)) -(proclaim '(FUNCTION PRINT-IHS (T) T)) -(proclaim '(FUNCTION PRINT-FRS (T) T)) -(proclaim '(FUNCTION FRS-KIND (T) T)) -(proclaim '(FUNCTION TPL-HIDE (T) T)) -(proclaim '(FUNCTION TPL-UNHIDE (T) T)) -(proclaim '(FUNCTION TPL-UNHIDE-PACKAGE (T) T)) -(proclaim '(FUNCTION TPL-HIDE-PACKAGE (T) T)) -(proclaim '(FUNCTION IHS-VISIBLE (T) T)) -(proclaim '(FUNCTION IHS-FNAME (T) T)) -(proclaim '(FUNCTION IHS-COMPILED-P (T) T)) -(proclaim '(FUNCTION SUPER-GO (T T) T)) -(proclaim '(FUNCTION TPL-BACKWARD-SEARCH (T) T)) -(proclaim '(FUNCTION TPL-FORWARD-SEARCH (T) T)) -(proclaim '(FUNCTION PROVIDE (T) T)) -(proclaim '(FUNCTION DOCUMENTATION (T T) T)) -(proclaim '(FUNCTION FIND-DOCUMENTATION (T) T)) -(proclaim '(FUNCTION SIMPLE-ARRAY-P (T) T)) -(proclaim '(FUNCTION TYPEP (T T) T)) -(proclaim '(FUNCTION SUBCLASSP (T T) T)) -(proclaim '(FUNCTION NORMALIZE-TYPE (T) T)) -(proclaim '(FUNCTION KNOWN-TYPE-P (T) T)) -(proclaim '(FUNCTION SUBTYPEP (T T) T)) -(proclaim '(FUNCTION SUB-INTERVAL-P (T T) T)) -(proclaim '(FUNCTION IN-INTERVAL-P (T T) T)) -(proclaim '(FUNCTION MATCH-DIMENSIONS (T T) T)) -(proclaim '(FUNCTION COERCE (T T) T)) -(proclaim '(FUNCTION CLEAR-COMPILER-PROPERTIES (T) T)) -(proclaim '(FUNCTION GET-SETF-METHOD (T) T)) -(proclaim '(FUNCTION GET-SETF-METHOD-MULTIPLE-VALUE (T) T)) -(proclaim '(FUNCTION SETF-EXPAND-1 (T T T) T)) -(proclaim '(FUNCTION SETF-EXPAND (T T) T)) -(proclaim '(FUNCTION INCREMENT-CURSOR (T T) T)) -(proclaim '(FUNCTION SEQUENCE-CURSOR (T T) T)) -(proclaim '(FUNCTION ARRAY-DIMENSIONS (T) T)) -(proclaim '(FUNCTION VECTOR-PUSH (T T) T)) -(proclaim '(FUNCTION VECTOR-POP (T) T)) -(proclaim '(FUNCTION ASK-FOR-FORM (T) T)) -(proclaim '(FUNCTION TYPECASE-ERROR-STRING (T T T) T)) -(proclaim '(FUNCTION TYPECASE-ERROR-STRINGS (T) T)) -(proclaim '(FUNCTION BOIN-P (T) T)) -(proclaim '(FUNCTION MAKE-ACCESS-FUNCTION (T T T T T T T T T) T)) -(proclaim '(FUNCTION MAKE-CONSTRUCTOR (T T T T T) T)) -(proclaim '(FUNCTION MAKE-COPIER (T T T T) T)) -(proclaim '(FUNCTION MAKE-PREDICATE (T T T T T) T)) -(proclaim '(FUNCTION PARSE-SLOT-DESCRIPTION (T T) T)) -(proclaim '(FUNCTION OVERWRITE-SLOT-DESCRIPTIONS (T T) T)) -(proclaim '(FUNCTION SHARP-S-READER (T T T) T)) -(proclaim '(FUNCTION READ-INSPECT-COMMAND (T T T) T)) -(proclaim '(FUNCTION INSPECT-SYMBOL (T) T)) -(proclaim '(FUNCTION INSPECT-PACKAGE (T) T)) -(proclaim '(FUNCTION INSPECT-CHARACTER (T) T)) -(proclaim '(FUNCTION INSPECT-NUMBER (T) T)) -(proclaim '(FUNCTION INSPECT-CONS (T) T)) -(proclaim '(FUNCTION INSPECT-STRING (T) T)) -(proclaim '(FUNCTION INSPECT-VECTOR (T) T)) -(proclaim '(FUNCTION INSPECT-ARRAY (T) T)) -(proclaim '(FUNCTION INSPECT-OBJECT (T) T)) -(proclaim '(FUNCTION DESCRIBE (T) T)) -(proclaim '(FUNCTION INSPECT (T) T)) -(proclaim '(FUNCTION ARG-LIST (T) T)) -(proclaim '(FUNCTION PRIN1-TO-STRING (T) T)) -(proclaim '(FUNCTION PRINC-TO-STRING (T) T)) -(proclaim '(FUNCTION SHARP-A-READER (T T T) T)) -(proclaim '(FUNCTION SHARP-S-READER-SI (T T T) T)) -(proclaim '(FUNCTION LEAP-YEAR-P (T) T)) -(proclaim '(FUNCTION NUMBER-OF-DAYS-FROM-1900 (T) T)) -(proclaim '(FUNCTION ISQRT (T) T)) -(proclaim '(FUNCTION ABS (T) T)) -(proclaim '(FUNCTION PHASE (T) T)) -(proclaim '(FUNCTION SIGNUM (T) T)) -(proclaim '(FUNCTION CIS (T) T)) -(proclaim '(FUNCTION ASIN (T) T)) -(proclaim '(FUNCTION ACOS (T) T)) -(proclaim '(FUNCTION SINH (T) T)) -(proclaim '(FUNCTION COSH (T) T)) -(proclaim '(FUNCTION TANH (T) T)) -(proclaim '(FUNCTION ASINH (T) T)) -(proclaim '(FUNCTION ACOSH (T) T)) -(proclaim '(FUNCTION ATANH (T) T)) -(proclaim '(FUNCTION RATIONAL (T) T)) -(proclaim '(FUNCTION RATIONALIZE (T) T)) -(proclaim '(FUNCTION RATIONALIZE-FLOAT (T T) T)) -(proclaim '(FUNCTION LOGNAND (T T) T)) -(proclaim '(FUNCTION LOGNOR (T T) T)) -(proclaim '(FUNCTION LOGANDC1 (T T) T)) -(proclaim '(FUNCTION LOGANDC2 (T T) T)) -(proclaim '(FUNCTION LOGORC1 (T T) T)) -(proclaim '(FUNCTION LOGORC2 (T T) T)) -(proclaim '(FUNCTION LOGNOT (T) T)) -(proclaim '(FUNCTION LOGTEST (T T) T)) -(proclaim '(FUNCTION BYTE (T T) T)) -(proclaim '(FUNCTION BYTE-SIZE (T) T)) -(proclaim '(FUNCTION BYTE-POSITION (T) T)) -(proclaim '(FUNCTION LDB (T T) T)) -(proclaim '(FUNCTION LDB-TEST (T T) T)) -(proclaim '(FUNCTION MASK-FIELD (T T) T)) -(proclaim '(FUNCTION DPB (T T T) T)) -(proclaim '(FUNCTION DEPOSIT-FIELD (T T T) T)) -(proclaim '(FUNCTION FIND-ALL-SYMBOLS (T) T)) -(proclaim '(FUNCTION SUBSTRINGP (T T) T)) -(proclaim '(FUNCTION PRINT-SYMBOL-APROPOS (T) T)) -(proclaim '(FUNCTION SEQTYPE (T) T)) -(proclaim '(FUNCTION CALL-TEST (T T T T) T)) -(proclaim '(FUNCTION CHECK-SEQ-TEST (T T) T)) -(proclaim '(FUNCTION CHECK-SEQ-START-END (T T) T)) -(proclaim '(FUNCTION CHECK-SEQ-ARGS (T T T T) T)) -(proclaim '(FUNCTION LIST-MERGE-SORT (T T T) T)) -(proclaim '(FUNCTION QUICK-SORT (T FIXNUM FIXNUM T T) T)) -(proclaim '(FUNCTION TRACE* (T) T)) -(proclaim '(FUNCTION UNTRACE* (T) T)) -(proclaim '(FUNCTION TRACE-ONE (T) T)) -(proclaim '(FUNCTION UNTRACE-ONE (T) T)) -(proclaim '(FUNCTION TRACING-BODY (T) T)) -(proclaim '(FUNCTION STEP* (T) T)) -(proclaim '(FUNCTION LOOP-TEQUAL (T T) T)) -(proclaim '(FUNCTION LOOP-TMEMBER (T T) T)) -(proclaim '(FUNCTION LOOP-TASSOC (T T) T)) -(proclaim '(FUNCTION LOOP-NAMED-VARIABLE (T) T)) -(proclaim '(FUNCTION PARSE-TYPE (T) T)) -(proclaim '(FUNCTION LV-BIND (T T T) T)) -(proclaim '(FUNCTION LV-SET (T) T)) -(proclaim '(FUNCTION MERGE-INF (T T) T)) -(proclaim '(FUNCTION SET-ITERATION (T) T)) -(proclaim '(FUNCTION PARSE-FOR1 (T T T T T T) T)) -(proclaim '(FUNCTION PARSE-LOOP-PATH (T) T)) -(proclaim '(FUNCTION GET-ACC (T) T)) -(proclaim '(FUNCTION PARSE-WHEN (T) T)) +(proclaim '(FTYPE DEFMACRO* (T T T) T)) +(proclaim '(FTYPE DM-VL (T T T) T)) +(proclaim '(FTYPE DM-V (T T) T)) +(proclaim '(FTYPE DM-NTH (T T) T)) +(proclaim '(FTYPE DM-NTH-CDR (T T) T)) +(proclaim '(FTYPE DM-BAD-KEY (T) T)) +(proclaim '(FTYPE DM-KEY-NOT-ALLOWED (T) T)) +;(proclaim '(FTYPE FIND-DOC (T T) T)) +;(proclaim '(FTYPE FIND-DECLARATIONS (T) T)) +(proclaim '(FTYPE CLEAR-COMPILER-PROPERTIES (T) T)) +(proclaim '(FTYPE TERMINAL-INTERRUPT (T) T)) +(proclaim '(FTYPE BREAK-LEVEL (T T) T)) +(proclaim '(FTYPE TPL-MAKE-COMMAND (T T) T)) +(proclaim '(FTYPE TPL-PARSE-STRINGS (T) T)) +(proclaim '(FTYPE TPL-PRINT (T) T)) +(proclaim '(FTYPE TPL-UNKNOWN-COMMAND (T) T)) +(proclaim '(FTYPE TPL-GO (T) T)) +(proclaim '(FTYPE PRINT-IHS (T) T)) +(proclaim '(FTYPE PRINT-FRS (T) T)) +(proclaim '(FTYPE FRS-KIND (T) T)) +(proclaim '(FTYPE TPL-HIDE (T) T)) +(proclaim '(FTYPE TPL-UNHIDE (T) T)) +(proclaim '(FTYPE TPL-UNHIDE-PACKAGE (T) T)) +(proclaim '(FTYPE TPL-HIDE-PACKAGE (T) T)) +(proclaim '(FTYPE IHS-VISIBLE (T) T)) +(proclaim '(FTYPE IHS-FNAME (T) T)) +(proclaim '(FTYPE IHS-COMPILED-P (T) T)) +(proclaim '(FTYPE SUPER-GO (T T) T)) +(proclaim '(FTYPE TPL-BACKWARD-SEARCH (T) T)) +(proclaim '(FTYPE TPL-FORWARD-SEARCH (T) T)) +(proclaim '(FTYPE PROVIDE (T) T)) +(proclaim '(FTYPE DOCUMENTATION (T T) T)) +(proclaim '(FTYPE FIND-DOCUMENTATION (T) T)) +(proclaim '(FTYPE SIMPLE-ARRAY-P (T) T)) +(proclaim '(FTYPE TYPEP (T T) T)) +(proclaim '(FTYPE SUBCLASSP (T T) T)) +(proclaim '(FTYPE NORMALIZE-TYPE (T) T)) +(proclaim '(FTYPE KNOWN-TYPE-P (T) T)) +(proclaim '(FTYPE SUBTYPEP (T T) T)) +(proclaim '(FTYPE SUB-INTERVAL-P (T T) T)) +(proclaim '(FTYPE IN-INTERVAL-P (T T) T)) +(proclaim '(FTYPE MATCH-DIMENSIONS (T T) T)) +(proclaim '(FTYPE COERCE (T T) T)) +(proclaim '(FTYPE CLEAR-COMPILER-PROPERTIES (T) T)) +(proclaim '(FTYPE GET-SETF-METHOD (T) T)) +(proclaim '(FTYPE GET-SETF-METHOD-MULTIPLE-VALUE (T) T)) +(proclaim '(FTYPE SETF-EXPAND-1 (T T T) T)) +(proclaim '(FTYPE SETF-EXPAND (T T) T)) +(proclaim '(FTYPE INCREMENT-CURSOR (T T) T)) +(proclaim '(FTYPE SEQUENCE-CURSOR (T T) T)) +(proclaim '(FTYPE ARRAY-DIMENSIONS (T) T)) +(proclaim '(FTYPE VECTOR-PUSH (T T) T)) +(proclaim '(FTYPE VECTOR-POP (T) T)) +(proclaim '(FTYPE ASK-FOR-FORM (T) T)) +(proclaim '(FTYPE TYPECASE-ERROR-STRING (T T T) T)) +(proclaim '(FTYPE TYPECASE-ERROR-STRINGS (T) T)) +(proclaim '(FTYPE BOIN-P (T) T)) +(proclaim '(FTYPE MAKE-ACCESS-FUNCTION (T T T T T T T T T) T)) +(proclaim '(FTYPE MAKE-CONSTRUCTOR (T T T T T) T)) +(proclaim '(FTYPE MAKE-COPIER (T T T T) T)) +(proclaim '(FTYPE MAKE-PREDICATE (T T T T T) T)) +(proclaim '(FTYPE PARSE-SLOT-DESCRIPTION (T T) T)) +(proclaim '(FTYPE OVERWRITE-SLOT-DESCRIPTIONS (T T) T)) +(proclaim '(FTYPE SHARP-S-READER (T T T) T)) +(proclaim '(FTYPE READ-INSPECT-COMMAND (T T T) T)) +(proclaim '(FTYPE INSPECT-SYMBOL (T) T)) +(proclaim '(FTYPE INSPECT-PACKAGE (T) T)) +(proclaim '(FTYPE INSPECT-CHARACTER (T) T)) +(proclaim '(FTYPE INSPECT-NUMBER (T) T)) +(proclaim '(FTYPE INSPECT-CONS (T) T)) +(proclaim '(FTYPE INSPECT-STRING (T) T)) +(proclaim '(FTYPE INSPECT-VECTOR (T) T)) +(proclaim '(FTYPE INSPECT-ARRAY (T) T)) +(proclaim '(FTYPE INSPECT-OBJECT (T) T)) +(proclaim '(FTYPE DESCRIBE (T) T)) +(proclaim '(FTYPE INSPECT (T) T)) +(proclaim '(FTYPE ARG-LIST (T) T)) +(proclaim '(FTYPE PRIN1-TO-STRING (T) T)) +(proclaim '(FTYPE PRINC-TO-STRING (T) T)) +(proclaim '(FTYPE SHARP-A-READER (T T T) T)) +(proclaim '(FTYPE SHARP-S-READER-SI (T T T) T)) +(proclaim '(FTYPE LEAP-YEAR-P (T) T)) +(proclaim '(FTYPE NUMBER-OF-DAYS-FROM-1900 (T) T)) +(proclaim '(FTYPE ISQRT (T) T)) +(proclaim '(FTYPE ABS (T) T)) +(proclaim '(FTYPE PHASE (T) T)) +(proclaim '(FTYPE SIGNUM (T) T)) +(proclaim '(FTYPE CIS (T) T)) +(proclaim '(FTYPE ASIN (T) T)) +(proclaim '(FTYPE ACOS (T) T)) +(proclaim '(FTYPE SINH (T) T)) +(proclaim '(FTYPE COSH (T) T)) +(proclaim '(FTYPE TANH (T) T)) +(proclaim '(FTYPE ASINH (T) T)) +(proclaim '(FTYPE ACOSH (T) T)) +(proclaim '(FTYPE ATANH (T) T)) +(proclaim '(FTYPE RATIONAL (T) T)) +(proclaim '(FTYPE RATIONALIZE (T) T)) +(proclaim '(FTYPE RATIONALIZE-FLOAT (T T) T)) +(proclaim '(FTYPE LOGNAND (T T) T)) +(proclaim '(FTYPE LOGNOR (T T) T)) +(proclaim '(FTYPE LOGANDC1 (T T) T)) +(proclaim '(FTYPE LOGANDC2 (T T) T)) +(proclaim '(FTYPE LOGORC1 (T T) T)) +(proclaim '(FTYPE LOGORC2 (T T) T)) +(proclaim '(FTYPE LOGNOT (T) T)) +(proclaim '(FTYPE LOGTEST (T T) T)) +(proclaim '(FTYPE BYTE (T T) T)) +(proclaim '(FTYPE BYTE-SIZE (T) T)) +(proclaim '(FTYPE BYTE-POSITION (T) T)) +(proclaim '(FTYPE LDB (T T) T)) +(proclaim '(FTYPE LDB-TEST (T T) T)) +(proclaim '(FTYPE MASK-FIELD (T T) T)) +(proclaim '(FTYPE DPB (T T T) T)) +(proclaim '(FTYPE DEPOSIT-FIELD (T T T) T)) +(proclaim '(FTYPE FIND-ALL-SYMBOLS (T) T)) +(proclaim '(FTYPE SUBSTRINGP (T T) T)) +(proclaim '(FTYPE PRINT-SYMBOL-APROPOS (T) T)) +(proclaim '(FTYPE SEQTYPE (T) T)) +(proclaim '(FTYPE CALL-TEST (T T T T) T)) +(proclaim '(FTYPE CHECK-SEQ-TEST (T T) T)) +(proclaim '(FTYPE CHECK-SEQ-START-END (T T) T)) +(proclaim '(FTYPE CHECK-SEQ-ARGS (T T T T) T)) +(proclaim '(FTYPE LIST-MERGE-SORT (T T T) T)) +(proclaim '(FTYPE QUICK-SORT (T FIXNUM FIXNUM T T) T)) +(proclaim '(FTYPE TRACE* (T) T)) +(proclaim '(FTYPE UNTRACE* (T) T)) +(proclaim '(FTYPE TRACE-ONE (T) T)) +(proclaim '(FTYPE UNTRACE-ONE (T) T)) +(proclaim '(FTYPE TRACING-BODY (T) T)) +(proclaim '(FTYPE STEP* (T) T)) +(proclaim '(FTYPE LOOP-TEQUAL (T T) T)) +(proclaim '(FTYPE LOOP-TMEMBER (T T) T)) +(proclaim '(FTYPE LOOP-TASSOC (T T) T)) +(proclaim '(FTYPE LOOP-NAMED-VARIABLE (T) T)) +(proclaim '(FTYPE PARSE-TYPE (T) T)) +(proclaim '(FTYPE LV-BIND (T T T) T)) +(proclaim '(FTYPE LV-SET (T) T)) +(proclaim '(FTYPE MERGE-INF (T T) T)) +(proclaim '(FTYPE SET-ITERATION (T) T)) +(proclaim '(FTYPE PARSE-FOR1 (T T T T T T) T)) +(proclaim '(FTYPE PARSE-LOOP-PATH (T) T)) +(proclaim '(FTYPE GET-ACC (T) T)) +(proclaim '(FTYPE PARSE-WHEN (T) T)) diff --git a/src/lsp/seqlib.lsp b/src/lsp/seqlib.lsp index dd4b6553d..81b969b17 100644 --- a/src/lsp/seqlib.lsp +++ b/src/lsp/seqlib.lsp @@ -13,7 +13,7 @@ (in-package "SYSTEM") -(declaim (function seqtype (t) t)) +(declaim (ftype seqtype (t) t)) (defun seqtype (sequence) (declare (si::c-local)) (cond ((listp sequence) 'list) @@ -22,14 +22,14 @@ ((vectorp sequence) (list 'array (array-element-type sequence))) (t (error "~S is not a sequence." sequence)))) -(declaim (function call-test (t t t t) t)) +(declaim (ftype call-test (t t t t) t)) (defun call-test (test test-not item keyx) (declare (si::c-local)) (cond (test (funcall test item keyx)) (test-not (not (funcall test-not item keyx))) (t (eql item keyx)))) -(declaim (function test-error() t)) +(declaim (ftype test-error() t)) (defun test-error() (declare (si::c-local)) (error "both test and test are supplied")) @@ -618,7 +618,7 @@ evaluates to NIL. See STABLE-SORT." (sort l))) -(declaim (function quick-sort (t fixnum fixnum t t) t)) +(declaim (ftype quick-sort (t fixnum fixnum t t) t)) (defun quick-sort (seq start end pred key) (declare (fixnum start end))