X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdeftypes-for-target.lisp;h=ddfe5fbdaec99f3b64cc3ddac0d5cd78cc231c3c;hb=6c4d4d984b1af6b2a73568cec3ab9c8795cff2da;hp=9efcd3677ecb7edfb9c29d6ee5417d290aa194c7;hpb=397b000303e15df61661d9726126ee99ee10d9c6;p=sbcl.git diff --git a/src/code/deftypes-for-target.lisp b/src/code/deftypes-for-target.lisp index 9efcd36..ddfe5fb 100644 --- a/src/code/deftypes-for-target.lisp +++ b/src/code/deftypes-for-target.lisp @@ -122,16 +122,10 @@ ;;; legal args to pathname functions (sb!xc:deftype pathname-designator () - '(or string pathname stream)) + '(or string pathname #+sb-xc-host stream #-sb-xc-host file-stream)) (sb!xc:deftype logical-host-designator () '(or host string)) -;;; like INDEX, but augmented with -1 (useful when using the index -;;; to count downwards to 0, e.g. LOOP FOR I FROM N DOWNTO 0, with -;;; an implementation which terminates the loop by testing for the -;;; index leaving the loop range) -(sb!xc:deftype index-or-minus-1 () `(integer -1 ,(1- most-positive-fixnum))) - ;;; a thing returned by the irrational functions. We assume that they ;;; never compute a rational result. (sb!xc:deftype irrational () @@ -146,6 +140,11 @@ ;;; the :END arg to a sequence (sb!xc:deftype sequence-end () '(or null index)) +;;; the :COUNT arg to a sequence +(sb!xc:deftype sequence-count () + `(or null (integer ,(- sb!xc:array-dimension-limit) + (,sb!xc:array-dimension-limit)))) + ;;; a valid argument to a stream function ;;; ;;; FIXME: should probably be STREAM-DESIGNATOR, after the term