("src/code/cross-type" :not-target)
("src/compiler/generic/vm-type")
("src/compiler/proclaim")
+
+ ("src/code/class-init")
("src/code/typecheckfuns")
;; The DEFSTRUCT machinery needs SB!XC:SUBTYPEP, defined in
("src/compiler/compiler-error")
("src/code/type-init")
-
;; Now that the type system is initialized, fix up UNKNOWN types that
;; have crept in.
("src/compiler/fixup-type")
-
+
;; These define target types needed by fndb.lisp.
("src/code/package")
("src/code/random")
--- /dev/null
+;;;; When this file's top level forms are run, it precomputes the
+;;;; translations for built in classes. This stuff is split off from
+;;;; the other type stuff to get around problems with everything
+;;;; needing to be loaded before everything else. This file is the
+;;;; first to exercise the type machinery.
+
+;;;; This software is part of the SBCL system. See the README file for
+;;;; more information.
+;;;;
+;;;; This software is derived from the CMU CL system, which was
+;;;; written at Carnegie Mellon University and released into the
+;;;; public domain. The software is in the public domain and is
+;;;; provided with absolutely no warranty. See the COPYING and CREDITS
+;;;; files for more information.
+
+(in-package "SB!KERNEL")
+
+;;; built-in classes
+(/show0 "beginning class-init.lisp")
+(dolist (x *built-in-classes*)
+ (destructuring-bind (name &key (translation nil trans-p) &allow-other-keys)
+ x
+ (/show0 "doing class with NAME=..")
+ (/primitive-print (symbol-name name))
+ (when trans-p
+ (/show0 "in TRANS-P case")
+ (let ((classoid (classoid-cell-classoid (find-classoid-cell name)))
+ (type (specifier-type translation)))
+ (setf (built-in-classoid-translation classoid) type)
+ (setf (info :type :builtin name) type)))))
+
+(/show0 "done with class-init.lisp")
:depth 3
:inherits (instance)))))
-;;; comment from CMU CL:
-;;; See also type-init.lisp where we finish setting up the
-;;; translations for built-in types.
+;;; See also src/code/class-init.lisp where we finish setting up the
+;;; translations for built-in types.
(!cold-init-forms
(dolist (x *built-in-classes*)
#-sb-xc-host (/show0 "at head of loop over *BUILT-IN-CLASSES*")
\f
;;;; standard types
-;;; also has a definition in src/code/class.lisp, but we need it
-;;; earlier for array specialization.
-(sb!xc:deftype fixnum ()
- '(integer #.sb!xc:most-negative-fixnum #.sb!xc:most-positive-fixnum))
-
(sb!xc:deftype boolean () '(member t nil))
(sb!xc:deftype mod (n)
(sb!xc:deftype extended-char ()
#!+sb-doc
- "Type of characters that aren't base-char's. None in CMU CL."
+ "Type of CHARACTERs that aren't BASE-CHARs."
'(and character (not base-char)))
(sb!xc:deftype standard-char ()
;;;; When this file's top level forms are run, it precomputes the
;;;; translations for commonly used type specifiers. This stuff is
;;;; split off from the other type stuff to get around problems with
-;;;; everything needing to be loaded before everything else. This is
-;;;; the first file which really exercises the type stuff. This stuff
-;;;; is also somewhat implementation-dependent in that implementations
-;;;; may want to precompute other types which are important to them.
+;;;; everything needing to be loaded before everything else. This
+;;;; stuff is also somewhat implementation-dependent in that
+;;;; implementations may want to precompute other types which are
+;;;; important to them.
;;;; This software is part of the SBCL system. See the README file for
;;;; more information.
(in-package "SB!KERNEL")
-;;; built-in classes
-(/show0 "beginning type-init.lisp")
-(dolist (x *built-in-classes*)
- (destructuring-bind (name &key (translation nil trans-p) &allow-other-keys)
- x
- (/show0 "doing class with NAME=..")
- (/primitive-print (symbol-name name))
- (when trans-p
- (/show0 "in TRANS-P case")
- (let ((classoid (classoid-cell-classoid (find-classoid-cell name)))
- (type (specifier-type translation)))
- (setf (built-in-classoid-translation classoid) type)
- (setf (info :type :builtin name) type)))))
-
;;; numeric types
(/show0 "precomputing numeric types")
(precompute-types '((mod 2) (mod 4) (mod 16) (mod #x100) (mod #x10000)
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.0.78.vector-nil-string.8"
+"0.8.0.78.vector-nil-string.9"