;;;; the specifications of target packages, except for a few things
;;;; which are handled elsewhere by other mechanisms:
-;;;; * the creation of the trivial SB-SLOT-ACCESSOR-NAME package
-;;;; * any SHADOWing and nickname hackery
+;;;; * any SHADOWing and nickname hackery;
;;;; * the standard, non-SBCL-specific packages COMMON-LISP,
-;;;; COMMON-LISP-USER, and KEYWORD
+;;;; COMMON-LISP-USER, and KEYWORD.
;;;;
;;;; The packages are named SB!FOO here and elsewhere in
;;;; cross-compilation, in order to avoid collision with possible
"PHYSENV-DEBUG-LIVE-TN" "PHYSENV-LIVE-TN"
"FAST-SYMBOL-VALUE" "FOLDABLE"
"FORCE-TN-TO-STACK"
+ "FUN-INFO-DERIVE-TYPE" "FUN-INFO-IR2-CONVERT"
+ "FUN-INFO-LTN-ANNOTATE" "FUN-INFO-OPTIMIZER"
"GET-VECTOR-SUBTYPE"
"HALT"
"IF-EQ" "INLINE-SYNTACTIC-CLOSURE-LAMBDA"
"*USE-IMPLEMENTATION-TYPES*"
"*DERIVE-FUNCTION-TYPES*"
+ ;; ..and inspector of compiler policy
+ "DESCRIBE-COMPILER-POLICY"
+
;; a special form for breaking out of our "declarations
;; are assertions" default
"TRULY-THE"
;; miscellaneous useful supported extensions
"QUIT"
-
+ "*MODULE-PROVIDER-FUNCTIONS*"
+
;; RUN-PROGRAM is not only useful for users, but also
;; useful to implement parts of SBCL itself, so we're
;; going to have to implement it anyway, so we might
"COMPOUND-OBJECT-P"
"SWAPPED-ARGS-FUN"
"ANY/TYPE" "EVERY/TYPE"
+ "EQUAL-BUT-NO-CAR-RECURSION"
"TYPE-BOUND-NUMBER"
"CONSTANTLY-T" "CONSTANTLY-NIL" "CONSTANTLY-0"
"PSXHASH"
"%BREAK"
"NTH-BUT-WITH-SANE-ARG-ORDER"
"DEPRECATION-WARNING"
+ "BIT-VECTOR-="
;; ..and macros..
"COLLECT"
"ABOUT-TO-MODIFY-SYMBOL-VALUE"
"SYMBOL-SELF-EVALUATING-P"
"PRINT-PRETTY-ON-STREAM-P"
+ "ARRAY-READABLY-PRINTABLE-P"
"LOOKS-LIKE-NAME-OF-SPECIAL-VAR-P"
"POSITIVE-PRIMEP"
"EVAL-IN-LEXENV"
+ "DEBUG-NAMIFY"
;; These could be moved back into SB!EXT if someone has
;; compelling reasons, but hopefully we can get by
"!BEGIN-COLLECTING-COLD-INIT-FORMS"
"!COLD-INIT-FORMS"
"COLD-FSET"
- "!DEFUN-FROM-COLLECTED-COLD-INIT-FORMS"))
+ "!DEFUN-FROM-COLLECTED-COLD-INIT-FORMS"
+
+ ;; hooks for contrib/ stuff we're insufficiently sure
+ ;; about to add to SB!EXT
+ "*REPL-PROMPT-FUN*"
+ "*REPL-READ-FORM-FUN*"))
;; FIXME: This package is awfully huge. It'd probably be good to
;; split it. There's at least one natural way to split it: the
"%ARRAY-FILL-POINTER-P"
"%ASIN" "%ASINH"
"%ATAN" "%ATAN2" "%ATANH"
- "%CALLER-FRAME-AND-PC" "%CHECK-BOUND" "%CLOSURE-FUN"
+ "%CALLER-FRAME-AND-PC" "%CHECK-BOUND"
+ "%CHECK-VECTOR-SEQUENCE-BOUNDS" "%CLOSURE-FUN"
"%CLOSURE-INDEX-REF" "%COS" "%COS-QUICK"
"%COSH" "%DATA-VECTOR-AND-INDEX"
"%DEPOSIT-FIELD"
"BINDING-STACK-POINTER-SAP" "BIT-BASH-COPY"
"BIT-INDEX" "BOGUS-ARG-TO-VALUES-LIST-ERROR"
"BOOLE-CODE"
+ "BOUNDING-INDICES-BAD-ERROR"
"BYTE-SPECIFIER"
"%BYTE-BLT"
"CALLABLE" "CASE-BODY-ERROR"
"FLOAT-WAIT"
"DYNAMIC-SPACE-FREE-POINTER" "DYNAMIC-USAGE"
"EFFECTIVE-FIND-POSITION-TEST" "EFFECTIVE-FIND-POSITION-KEY"
- "END-TOO-LARGE-ERROR"
"ERROR-NUMBER-OR-LOSE"
"FAILED-%WITH-ARRAY-DATA"
"FDEFINITION-OBJECT"
"JUST-DUMP-IT-NORMALLY"
"KEY-INFO" "KEY-INFO-NAME"
"KEY-INFO-P" "KEY-INFO-TYPE"
- "LAYOUT-DEPTHOID"
- "LAYOUT-INVALID-ERROR" "LEXENV"
+ "LAYOUT-DEPTHOID" "LAYOUT-INVALID-ERROR"
+ "LEXENV" "LEXENV-DESIGNATOR"
"LINE-LENGTH"
"ANSI-STREAM"
"ANSI-STREAM-BIN" "ANSI-STREAM-BOUT"
+ "ANSI-STREAM-CLOSE"
+ "ANSI-STREAM-ELEMENT-TYPE"
"ANSI-STREAM-IN" "ANSI-STREAM-IN-BUFFER"
"ANSI-STREAM-IN-INDEX"
+ "ANSI-STREAM-INPUT-STREAM-P"
"ANSI-STREAM-MISC" "ANSI-STREAM-N-BIN"
+ "ANSI-STREAM-OPEN-STREAM-P"
"ANSI-STREAM-OUT" "ANSI-STREAM-SOUT"
+ "ANSI-STREAM-OUTPUT-STREAM-P"
"LIST-TO-VECTOR*"
"LOGICAL-HOST" "LOGICAL-HOST-DESIGNATOR"
#!+long-float "LONG-FLOAT-EXPONENT"
"MUTATOR-SELF"
"NAMED-TYPE" "NAMED-TYPE-NAME" "NAMED-TYPE-P"
"NATIVE-BYTE-ORDER" "NEGATE"
- "NEVER-SUBTYPEP" "NIL-FUN-RETURNED-ERROR"
+ "NEGATION-TYPE" "NEGATION-TYPE-TYPE"
+ "NEVER-SUBTYPEP" "NIL-ARRAY-ACCESSED-ERROR"
+ "NIL-FUN-RETURNED-ERROR"
"NOT-<=-ERROR" "NOT-=-ERROR"
"NOT-DUMPED-AT-ALL"
"NUMERIC-CONTAGION" "NUMERIC-TYPE"
"OBJECT-NOT-SIMPLE-ARRAY-DOUBLE-FLOAT-ERROR"
"OBJECT-NOT-SIMPLE-ARRAY-ERROR"
#!+long-float "OBJECT-NOT-SIMPLE-ARRAY-LONG-FLOAT-ERROR"
+ "OBJECT-NOT-SIMPLE-ARRAY-NIL-ERROR"
"OBJECT-NOT-SIMPLE-ARRAY-SINGLE-FLOAT-ERROR"
"OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-16-ERROR"
"OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-2-ERROR"
"SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-P"
"SIMPLE-ARRAY-DOUBLE-FLOAT-P"
#!+long-float "SIMPLE-ARRAY-LONG-FLOAT-P"
+ "SIMPLE-ARRAY-NIL-P"
"SIMPLE-ARRAY-P"
"SIMPLE-ARRAY-SINGLE-FLOAT-P"
"SIMPLE-ARRAY-UNSIGNED-BYTE-16-P"
"LAYOUT-PURE" "DSD-RAW-TYPE"
"DEFSTRUCT-DESCRIPTION" "UNDEFINE-STRUCTURE"
"DD-COPIER" "UNDEFINE-FUN-NAME" "DD-TYPE"
- "CLASS-STATE" "INSTANCE"
+ "CLASSOID-STATE" "INSTANCE"
"*TYPE-SYSTEM-INITIALIZED*" "FIND-LAYOUT"
"DSD-NAME" "%TYPEP" "DD-RAW-INDEX"
- "DD-NAME" "CLASS-SUBCLASSES"
- "CLASS-LAYOUT" "CLASS-%NAME"
+ "DD-NAME" "CLASSOID-SUBCLASSES"
+ "CLASSOID-LAYOUT" "CLASSOID-NAME"
"DD-RAW-LENGTH" "NOTE-NAME-DEFINED"
"%CODE-CODE-SIZE" "DD-SLOTS"
+ "DD-INCLUDE"
"%IMAGPART" "DSD-ACCESSOR-NAME"
"%CODE-DEBUG-INFO" "DSD-%NAME"
- "LAYOUT-CLASS" "LAYOUT-INVALID"
+ "LAYOUT-CLASSOID" "LAYOUT-INVALID"
"%SIMPLE-FUN-NAME" "DSD-TYPE" "%INSTANCEP"
"DEFSTRUCT-SLOT-DESCRIPTION" "%SIMPLE-FUN-ARGLIST"
"%SIMPLE-FUN-NEXT" "LAYOUT-CLOS-HASH-LENGTH" "DD-PREDICATE-NAME"
- "CLASS-PROPER-NAME" "%NOTE-TYPE-DEFINED" "LAYOUT-INFO"
+ "CLASSOID-PROPER-NAME" "%NOTE-TYPE-DEFINED" "LAYOUT-INFO"
"%SET-INSTANCE-LAYOUT" "DD-DEFAULT-CONSTRUCTOR"
"LAYOUT-OF" "%SIMPLE-FUN-SELF" "%REALPART"
- "STRUCTURE-CLASS-P" "DSD-INDEX"
+ "STRUCTURE-CLASSOID-P" "DSD-INDEX"
"%INSTANCE-LAYOUT" "LAYOUT-CLOS-HASH"
"%SIMPLE-FUN-TYPE" "PROCLAIM-AS-FUN-NAME"
"BECOME-DEFINED-FUN-NAME"
- "%NUMERATOR" "CLASS-TYPEP"
+ "%NUMERATOR" "CLASSOID-TYPEP"
"DSD-READ-ONLY"
+ "DSD-DEFAULT"
"LAYOUT-INHERITS" "DD-LENGTH" "%CODE-ENTRY-POINTS"
"%DENOMINATOR"
- "MAKE-STANDARD-CLASS"
- "CLASS-CELL-TYPEP"
- "FIND-CLASS-CELL" "EXTRACT-FUN-TYPE"
- "FUNCALLABLE-STRUCTURE-CLASS"
+
+ "STANDARD-CLASSOID"
+ "CLASSOID-OF"
+ "MAKE-STANDARD-CLASSOID"
+ "CLASSOID-CELL-TYPEP"
+ "FIND-CLASSOID-CELL" "EXTRACT-FUN-TYPE"
+ "FUNCALLABLE-STRUCTURE-CLASSOID"
"%RANDOM-DOUBLE-FLOAT"
#!+long-float "%RANDOM-LONG-FLOAT"
"%RANDOM-SINGLE-FLOAT"
- "RANDOM-PCL-CLASS"
+ "RANDOM-PCL-CLASSOID"
"%FUNCALLABLE-INSTANCE-INFO" "RANDOM-CHUNK"
- "MAKE-FUNCALLABLE-STRUCTURE-CLASS" "LAYOUT-CLOS-HASH-MAX"
- "CLASS-CELL-NAME" "BUILT-IN-CLASS-DIRECT-SUPERCLASSES"
+ "MAKE-FUNCALLABLE-STRUCTURE-CLASSOID" "LAYOUT-CLOS-HASH-MAX"
+ "CLASSOID-CELL-NAME" "BUILT-IN-CLASSOID-DIRECT-SUPERCLASSES"
+ "BUILT-IN-CLASSOID-TRANSLATION"
"RANDOM-LAYOUT-CLOS-HASH"
- "CLASS-PCL-CLASS" "FUNCALLABLE-STRUCTURE"
+ "CLASSOID-PCL-CLASS" "FUNCALLABLE-STRUCTURE"
"FUNCALLABLE-INSTANCE-FUN"
"%FUNCALLABLE-INSTANCE-LAYOUT"
- "BASIC-STRUCTURE-CLASS"
- "CLASS-CELL-CLASS"
- "FUNCALLABLE-STRUCTURE-CLASS-P" "REGISTER-LAYOUT"
+ "BASIC-STRUCTURE-CLASSOID"
+ "CLASSOID-CELL-CLASSOID"
+ "FUNCALLABLE-STRUCTURE-CLASSOID-P" "REGISTER-LAYOUT"
"FUNCALLABLE-INSTANCE" "RANDOM-FIXNUM-MAX"
- "MAKE-RANDOM-PCL-CLASS" "INSTANCE-LAMBDA"
+ "MAKE-RANDOM-PCL-CLASSOID" "INSTANCE-LAMBDA"
"%FUNCALLABLE-INSTANCE-LEXENV" "%MAKE-SYMBOL"
"%FUNCALLABLE-INSTANCE-FUN" "SYMBOL-HASH"
- "MAKE-UNDEFINED-CLASS" "CLASS-DIRECT-SUPERCLASSES" "MAKE-LAYOUT"
- "REDEFINE-LAYOUT-WARNING" "SLOT-CLASS"
- "INSURED-FIND-CLASS" "ORDER-LAYOUT-INHERITS"
+ "BUILT-IN-CLASSOID"
+ "CONDITION-CLASSOID-P"
+ "MAKE-UNDEFINED-CLASSOID" "FIND-CLASSOID" "CLASSOID"
+ "CLASSOID-DIRECT-SUPERCLASSES" "MAKE-LAYOUT"
+ "REDEFINE-LAYOUT-WARNING" "SLOT-CLASSOID"
+ "INSURED-FIND-CLASSOID" "ORDER-LAYOUT-INHERITS"
"STD-COMPUTE-CLASS-PRECEDENCE-LIST"
;; symbols from former SB!CONDITIONS
:use ("CL")
:export ())
- #!+mp
#s(sb-cold:package-data
- :name "SB!MP"
- :doc "public (but unstable): multiprocessing support"
- :export ("*ALL-PROCESSES*" "*CURRENT-PROCESS*"
- "*CURRENT-STACK-GROUP*" "*INITIAL-STACK-GROUP*"
- "*MULTI-PROCESSING*" "ALL-PROCESSES"
- "ATOMIC-DECF" "ATOMIC-INCF" "ATOMIC-POP"
- "ATOMIC-PUSH" "CURRENT-PROCESS"
- "DESTROY-PROCESS" "DISABLE-PROCESS"
- "ENABLE-PROCESS" "INIT-STACK-GROUPS"
- "LOCK" "MAKE-STACK-GROUP" "MAKE-LOCK"
- "MAKE-PROCESS" "PROCESS-ACTIVE-P" "PROCESS-ALIVE-P"
- "PROCESS-IDLE-TIME" "PROCESS-INTERRUPT"
- "PROCESS-NAME" "PROCESS-PRESET"
- "PROCESS-REAL-TIME" "PROCESS-RUN-TIME"
- "PROCESS-STATE" "PROCESS-WAIT-UNTIL-FD-USABLE"
- "PROCESS-WAIT" "PROCESS-WAIT-WITH-TIMEOUT"
- "PROCESS-WHOSTATE" "PROCESS-YIELD" "PROCESSP"
- "RESTART-PROCESS" "SHOW-PROCESSES"
- "STACK-GROUP-RESUME" "WITHOUT-SCHEDULING"
- "WITH-LOCK-HELD"))
+ :name "SB!MOP"
+ :doc
+ "public: the MetaObject Protocol interface, as defined by
+The Art of the Metaobject Protocol, by Kiczales, des Rivieres and Bobrow:
+ISBN 0-262-61074-4."
+ :use ("SB!PCL")
+ :reexport ("ADD-DEPENDENT"
+ "ADD-DIRECT-METHOD"
+ "ADD-DIRECT-SUBCLASS"
+ "ADD-METHOD"
+ "ALLOCATE-INSTANCE"
+ "CLASS-DEFAULT-INITARGS"
+ "CLASS-DIRECT-DEFAULT-INITARGS"
+ "CLASS-DIRECT-SLOTS"
+ "CLASS-DIRECT-SUBCLASSES"
+ "CLASS-DIRECT-SUPERCLASSES"
+ "CLASS-FINALIZED-P"
+ "CLASS-NAME"
+ "CLASS-PRECEDENCE-LIST"
+ "CLASS-PROTOTYPE"
+ "CLASS-SLOTS"
+ "COMPUTE-APPLICABLE-METHODS"
+ "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
+ "COMPUTE-CLASS-PRECEDENCE-LIST"
+ "COMPUTE-DEFAULT-INITARGS"
+ "COMPUTE-DISCRIMINATING-FUNCTION"
+ "COMPUTE-EFFECTIVE-METHOD"
+ "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
+ "COMPUTE-SLOTS"
+ "DIRECT-SLOT-DEFINITION-CLASS"
+ "EFFECTIVE-SLOT-DEFINITION-CLASS"
+ "ENSURE-CLASS"
+ "ENSURE-CLASS-USING-CLASS"
+ "ENSURE-GENERIC-FUNCTION"
+ "ENSURE-GENERIC-FUNCTION-USING-CLASS"
+ "EQL-SPECIALIZER-OBJECT"
+ "EXTRACT-LAMBDA-LIST"
+ "EXTRACT-SPECIALIZER-NAMES"
+ "FINALIZE-INHERITANCE"
+ "FIND-METHOD-COMBINATION"
+ "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
+ "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
+ "GENERIC-FUNCTION-DECLARATIONS"
+ "GENERIC-FUNCTION-LAMBDA-LIST"
+ "GENERIC-FUNCTION-METHOD-CLASS"
+ "GENERIC-FUNCTION-METHOD-COMBINATION"
+ "GENERIC-FUNCTION-METHODS"
+ "GENERIC-FUNCTION-NAME"
+ "INTERN-EQL-SPECIALIZER"
+ "MAKE-METHOD-LAMBDA"
+ "MAKE-INSTANCE"
+ "MAP-DEPENDENTS"
+ "METHOD-FUNCTION"
+ "METHOD-GENERIC-FUNCTION"
+ "METHOD-LAMBDA-LIST"
+ "METHOD-QUALIFIERS"
+ "METHOD-SPECIALIZERS"
+ "ACCESSOR-METHOD-SLOT-DEFINITION"
+ "READER-METHOD-CLASS"
+ "REMOVE-DEPENDENT"
+ "REMOVE-DIRECT-METHOD"
+ "REMOVE-DIRECT-SUBCLASS"
+ "REMOVE-METHOD"
+ "SET-FUNCALLABLE-INSTANCE-FUNCTION"
+ "SLOT-BOUNDP-USING-CLASS"
+ "SLOT-DEFINITION-ALLOCATION"
+ "SLOT-DEFINITION-INITARGS"
+ "SLOT-DEFINITION-INITFORM"
+ "SLOT-DEFINITION-INITFUNCTION"
+ "SLOT-DEFINITION-LOCATION"
+ "SLOT-DEFINITION-NAME"
+ "SLOT-DEFINITION-READERS"
+ "SLOT-DEFINITION-WRITERS"
+ "SLOT-DEFINITION-TYPE"
+ "SLOT-MAKUNBOUND-USING-CLASS"
+ "SLOT-VALUE-USING-CLASS"
+ "SPECIALIZER-DIRECT-GENERIC-FUNCTIONS"
+ "SPECIALIZER-DIRECT-METHODS"
+ "STANDARD-INSTANCE-ACCESS"
+ "UPDATE-DEPENDENT"
+ "VALIDATE-SUPERCLASS"
+ "WRITER-METHOD-CLASS"))
#s(sb-cold:package-data
:name "SB!PCL"
extensions, but even they are not guaranteed to be present in
later versions of SBCL, and the other stuff in here is
definitely not guaranteed to be present in later versions of SBCL."
- ;; FIXME: SB-PCL should probably USE-PACKAGE SB-KERNEL, since SB-PCL
- ;; is built on SB-KERNEL, and in the absence of USE-PACKAGE, it ends
- ;; up using a thundering herd of explicit prefixes to get to
- ;; SB-KERNEL symbols. However, it'll probably be too messy to do
- ;; this until the duplicate SB-PCL:CLASS/CL:CLASS hierarchy kludge
- ;; is unscrewed, since until it is there are too many things which
- ;; conflict between the two packages.
- :use ("CL" "SB!INT" "SB!EXT" "SB!WALKER")
- :import-from (("SB!KERNEL" "FUNCALLABLE-INSTANCE-P" "%FUN-DOC"
- "PACKAGE-DOC-STRING"
- "PACKAGE-HASHTABLE-SIZE" "PACKAGE-HASHTABLE-FREE"
- "PACKAGE-INTERNAL-SYMBOLS" "PACKAGE-EXTERNAL-SYMBOLS"))
+ :use ("CL" "SB!INT" "SB!EXT" "SB!WALKER" "SB!KERNEL")
:reexport ("ADD-METHOD" "ALLOCATE-INSTANCE"
- "COMPUTE-APPLICABLE-METHODS"
- "ENSURE-GENERIC-FUNCTION"
- "MAKE-INSTANCE" "METHOD-QUALIFIERS"
- "REMOVE-METHOD")
+ "CLASS-NAME" "COMPUTE-APPLICABLE-METHODS"
+ "ENSURE-GENERIC-FUNCTION" "MAKE-INSTANCE"
+ "METHOD-QUALIFIERS" "REMOVE-METHOD")
:export ("ADD-DEPENDENT"
"ADD-DIRECT-METHOD"
"ADD-DIRECT-SUBCLASS"
"CLASS-SLOTS"
"COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
"COMPUTE-CLASS-PRECEDENCE-LIST"
+ "COMPUTE-DEFAULT-INITARGS"
"COMPUTE-DISCRIMINATING-FUNCTION"
"COMPUTE-EFFECTIVE-METHOD"
"COMPUTE-EFFECTIVE-SLOT-DEFINITION"
"ENSURE-CLASS"
"ENSURE-CLASS-USING-CLASS"
"ENSURE-GENERIC-FUNCTION-USING-CLASS"
- "EQL-SPECIALIZER-INSTANCE"
+ "EQL-SPECIALIZER-OBJECT"
"EXTRACT-LAMBDA-LIST"
"EXTRACT-SPECIALIZER-NAMES"
"FINALIZE-INHERITANCE"
"REMOVE-DEPENDENT"
"REMOVE-DIRECT-METHOD"
"REMOVE-DIRECT-SUBCLASS"
- "SET-FUNCALLABLE-INSTANCE-FUN"
+ "SET-FUNCALLABLE-INSTANCE-FUNCTION"
"SLOT-BOUNDP-USING-CLASS"
"SLOT-DEFINITION-ALLOCATION"
"SLOT-DEFINITION-INITARGS"
"SLOT-DEFINITION-TYPE"
"SLOT-MAKUNBOUND-USING-CLASS"
"SLOT-VALUE-USING-CLASS"
- "SPECIALIZER-DIRECT-GENERIC-FUNCTION"
+ "SPECIALIZER-DIRECT-GENERIC-FUNCTIONS"
"SPECIALIZER-DIRECT-METHODS"
"STANDARD-INSTANCE-ACCESS"
"UPDATE-DEPENDENT"
"SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-WIDETAG"
"SIMPLE-ARRAY-DOUBLE-FLOAT-WIDETAG"
#!+long-float "SIMPLE-ARRAY-LONG-FLOAT-WIDETAG"
+ "SIMPLE-ARRAY-NIL-WIDETAG"
"SIMPLE-ARRAY-SINGLE-FLOAT-WIDETAG"
"SIMPLE-ARRAY-WIDETAG" "SIMPLE-ARRAY-UNSIGNED-BYTE-16-WIDETAG"
"SIMPLE-ARRAY-UNSIGNED-BYTE-2-WIDETAG"