0.7.8.36:
[sbcl.git] / src / code / deftypes-for-target.lisp
index ee87d6d..ddfe5fb 100644 (file)
@@ -98,7 +98,8 @@
 (sb!xc:deftype simple-bit-vector (&optional size)
   `(simple-array bit (,size)))
 \f
-;;;; some private types that we use in defining the standard functions
+;;;; some private types that we use in defining the standard functions,
+;;;; or implementing declarations in standard compiler transforms
 
 ;;; a type specifier
 (sb!xc:deftype type-specifier () '(or list symbol sb!xc:class))
 
 ;;; something legal in an evaluated context
 ;;; FIXME: could probably go away
-(sb!xc:deftype form () 't)
+(sb!xc:deftype form () t)
 
 ;;; Maclisp compatibility...
 ;;; FIXME: should be STRING-DESIGNATOR (the term used in the ANSI spec)
 
 ;;; 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))
 
   '(or float (complex float)))
 
 ;;; character components
-(sb!xc:deftype char-code () `(integer 0 (,char-code-limit)))
+(sb!xc:deftype char-code () `(integer 0 (,sb!xc:char-code-limit)))
 
 ;;; a consed sequence result. If a vector, is a simple array.
 (sb!xc:deftype consed-sequence () '(or list (simple-array * (*))))
 ;;; 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