a15111042c9b06ffe380b649b49b208e5c27df5a
[sbcl.git] / package-data-list.lisp-expr
1 ;;;; -*- Lisp -*-
2
3 ;;;; the specifications of target packages, except for a few things
4 ;;;; which are handled elsewhere by other mechanisms:
5 ;;;;   * any SHADOWing and nickname hackery;
6 ;;;;   * the standard, non-SBCL-specific packages COMMON-LISP,
7 ;;;;     COMMON-LISP-USER, and KEYWORD.
8 ;;;;
9 ;;;; The packages are named SB!FOO here and elsewhere in
10 ;;;; cross-compilation, in order to avoid collision with possible
11 ;;;; corresponding SB-FOO packages in the cross-compilation host.
12 ;;;; They're renamed to SB-FOO later, after we've departed from the xc
13 ;;;; mothership and the danger of namespace collision is past.
14
15 ;;;; This software is part of the SBCL system. See the README file for
16 ;;;; more information.
17 ;;;;
18 ;;;; This software is derived from the CMU CL system, which was
19 ;;;; written at Carnegie Mellon University and released into the
20 ;;;; public domain. The software is in the public domain and is
21 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
22 ;;;; files for more information.
23
24 (#s(sb-cold:package-data
25     :name "SB!ALIEN"
26     :doc "public: the ALIEN foreign function interface (If you're
27 porting CMU CL code, note that this package corresponds roughly to a union
28 of the packages ALIEN and C-CALL at the time of the SBCL fork. SB-C-CALL
29 is a deprecated nickname to help ease the transition from older versions
30 of SBCL which maintained the CMU-CL-style split into two packages.)"
31     :use ("CL" "SB!EXT" "SB!INT" "SB!SYS" "SB!ALIEN-INTERNALS")
32     :reexport ("ARRAY" "BOOLEAN" "CHAR" "DOUBLE-FLOAT"
33                "FLOAT" "FUNCTION" "INTEGER" "LONG-FLOAT"
34                "SINGLE-FLOAT"
35                ;; FIXME: Do we really want to reexport
36                ;; SYSTEM-AREA-POINTER here? Why?
37                "SYSTEM-AREA-POINTER"
38                "UNION"  "VALUES" "*")
39     :export ("ADDR" "ALIEN" "ALIEN-FUNCALL" "ALIEN-SAP" "ALIEN-SIZE" 
40              "CAST" "C-STRING"
41              "DEFINE-ALIEN-ROUTINE" "DEFINE-ALIEN-TYPE" "DEFINE-ALIEN-VARIABLE"
42
43              ;; FIXME: These old names don't match the DEFFOO - vs. -
44              ;; DEFINE-FOO convention used in the ANSI spec, and so
45              ;; were deprecated in sbcl-0.7.0. After a year or so
46              ;; they can go away completely.
47              "DEF-ALIEN-ROUTINE" "DEF-ALIEN-TYPE" "DEF-ALIEN-VARIABLE"
48
49              "DEREF" "DOUBLE"
50              "ENUM" "EXTERN-ALIEN"
51              "FREE-ALIEN"
52              "GET-ERRNO"
53              "INT" 
54              "LOAD-FOREIGN" "LOAD-1-FOREIGN" "LONG"
55              "MAKE-ALIEN"
56              "NULL-ALIEN"
57              "SAP-ALIEN" "SHORT" "SIGNED" "SLOT" "STRUCT"
58              "UNSIGNED"
59              "UNSIGNED-CHAR" "UNSIGNED-INT" "UNSIGNED-LONG" "UNSIGNED-SHORT"
60              "VOID"
61              "WITH-ALIEN"))
62
63  #s(sb-cold:package-data
64     :name "SB!ALIEN-INTERNALS"
65     :doc "private: stuff for implementing ALIENs and friends"
66     :use ("CL")
67     :export ("%CAST" "%DEREF-ADDR" "%HEAP-ALIEN" "%HEAP-ALIEN-ADDR"
68              "%LOCAL-ALIEN-ADDR" "%LOCAL-ALIEN-FORCED-TO-MEMORY-P" "%SAP-ALIEN"
69              "%SET-DEREF" "%SET-HEAP-ALIEN" "%SET-LOCAL-ALIEN" "%SET-SLOT"
70              "%SLOT-ADDR" "*VALUES-TYPE-OKAY*" "ALIEN-ARRAY-TYPE"
71              "ALIEN-ARRAY-TYPE-DIMENSIONS" "ALIEN-ARRAY-TYPE-ELEMENT-TYPE"
72              "ALIEN-ARRAY-TYPE-P" "ALIEN-BOOLEAN-TYPE" "ALIEN-BOOLEAN-TYPE-P"
73              "ALIEN-DOUBLE-FLOAT-TYPE" "ALIEN-DOUBLE-FLOAT-TYPE-P"
74              "ALIEN-ENUM-TYPE" "ALIEN-ENUM-TYPE-P" "ALIEN-FLOAT-TYPE"
75              "ALIEN-FLOAT-TYPE-P" "ALIEN-FUN-TYPE"
76              "ALIEN-FUN-TYPE-ARG-TYPES" "ALIEN-FUN-TYPE-P"
77              "ALIEN-FUN-TYPE-RESULT-TYPE" "ALIEN-INTEGER-TYPE"
78              "ALIEN-INTEGER-TYPE-P" "ALIEN-INTEGER-TYPE-SIGNED"
79              "ALIEN-LONG-FLOAT-TYPE" "ALIEN-LONG-FLOAT-TYPE-P"
80              "ALIEN-POINTER-TYPE" "ALIEN-POINTER-TYPE-P"
81              "ALIEN-POINTER-TYPE-TO" "ALIEN-RECORD-FIELD"
82              "ALIEN-RECORD-FIELD-NAME" "ALIEN-RECORD-FIELD-OFFSET"
83              "ALIEN-RECORD-FIELD-P" "ALIEN-RECORD-FIELD-TYPE"
84              "ALIEN-RECORD-TYPE" "ALIEN-RECORD-TYPE-FIELDS"
85              "ALIEN-RECORD-TYPE-P" "ALIEN-SINGLE-FLOAT-TYPE"
86              "ALIEN-SINGLE-FLOAT-TYPE-P" "ALIEN-SUBTYPE-P" "ALIEN-TYPE"
87              "ALIEN-TYPE-=" "ALIEN-TYPE-ALIGNMENT" "ALIEN-TYPE-BITS"
88              "ALIEN-TYPE-P" "ALIEN-TYPEP"
89              "ALIEN-VALUE" "ALIEN-VALUE-TYPE"
90              "ALIEN-VALUE-SAP" "ALIEN-VALUE-P"
91              "ALIEN-VALUES-TYPE" "ALIEN-VALUES-TYPE-P"
92              "ALIEN-VALUES-TYPE-VALUES" "ALIGN-OFFSET" "COMPUTE-ALIEN-REP-TYPE"
93              "COMPUTE-DEPORT-LAMBDA" "COMPUTE-DEPOSIT-LAMBDA"
94              "COMPUTE-EXTRACT-LAMBDA" "COMPUTE-LISP-REP-TYPE"
95              "COMPUTE-NATURALIZE-LAMBDA" "DEFINE-ALIEN-TYPE-CLASS"
96              "DEFINE-ALIEN-TYPE-METHOD" "DEFINE-ALIEN-TYPE-TRANSLATOR" "DEPORT"
97              "DEPOSIT-ALIEN-VALUE" "DISPOSE-LOCAL-ALIEN" "EXTRACT-ALIEN-VALUE"
98              "HEAP-ALIEN-INFO" "HEAP-ALIEN-INFO-P" "HEAP-ALIEN-INFO-SAP-FORM"
99              "HEAP-ALIEN-INFO-TYPE" "INVOKE-ALIEN-TYPE-METHOD" "LOCAL-ALIEN"
100              "LOCAL-ALIEN-INFO" "LOCAL-ALIEN-INFO-FORCE-TO-MEMORY-P"
101              "LOCAL-ALIEN-INFO-P" "LOCAL-ALIEN-INFO-TYPE"
102              "MAKE-ALIEN-FUN-TYPE" "MAKE-ALIEN-POINTER-TYPE"
103              "MAKE-ALIEN-VALUE"
104              "MAKE-LOCAL-ALIEN" "NATURALIZE"
105              "NOTE-LOCAL-ALIEN-TYPE"
106              "PARSE-ALIEN-TYPE" "UNPARSE-ALIEN-TYPE"))
107
108  #s(sb-cold:package-data
109     :name "SB!ASSEM"
110     :doc "private: the assembler, used by the compiler"
111     :use ("CL" "SB!EXT" "SB!INT")
112     :export ("ASSEMBLY-UNIT"
113
114              "*ASSEM-SCHEDULER-P*"
115              "*ASSEM-INSTRUCTIONS*"
116              "*ASSEM-MAX-LOCATIONS*"
117
118              "EMIT-BYTE" "EMIT-SKIP" "EMIT-BACK-PATCH"
119              "EMIT-CHOOSER" "DEFINE-BITFIELD-EMITTER"
120              "DEFINE-INSTRUCTION" "DEFINE-INSTRUCTION-MACRO"
121              "DEF-ASSEMBLER-PARAMS" "EMIT-POSTIT"
122
123              "MAKE-SEGMENT" "SEGMENT-NAME" "ASSEMBLE"
124              "ALIGN" "INST" "LABEL" "LABEL-P" "GEN-LABEL"
125              "EMIT-LABEL" "LABEL-POSITION" "APPEND-SEGMENT" "FINALIZE-SEGMENT"
126              "ON-SEGMENT-CONTENTS-VECTORLY" "WRITE-SEGMENT-CONTENTS"
127              "READS" "WRITES" "SEGMENT"
128              "WITHOUT-SCHEDULING"
129              "VARIABLE-LENGTH"
130              "SEGMENT-COLLECT-DYNAMIC-STATISTICS"
131
132              ;; FIXME: These are in the SB-ASSEM package now, but
133              ;; (left over from CMU CL) are defined in files which
134              ;; are IN-PACKAGE SB-C. It would probably be cleaner
135              ;; to move at least most of them to files which are
136              ;; IN-PACKAGE SB-ASSEM.
137              "BRANCH" "DO-SSET-ELEMENTS" "FLUSHABLE" "MAKE-SSET" "SSET"
138              "SSET-ADJOIN" "SSET-DELETE" "SSET-ELEMENT" "SSET-EMPTY"))
139
140  #s(sb-cold:package-data
141     :name "SB!BIGNUM"
142     :doc "private: bignum implementation"
143     :use ("CL" "SB!KERNEL" "SB!INT" "SB!EXT")
144     :export ("%ADD-WITH-CARRY" "%ALLOCATE-BIGNUM" "%ASHL" "%ASHR"
145              "%BIGNUM-LENGTH" "%BIGNUM-REF" "%BIGNUM-SET"
146              "%BIGNUM-SET-LENGTH" "%DIGIT-0-OR-PLUSP"
147              "%DIGIT-LOGICAL-SHIFT-RIGHT"
148              "%FIXNUM-DIGIT-WITH-CORRECT-SIGN" "%FIXNUM-TO-DIGIT"
149              "%FLOOR" "%LOGAND" "%LOGIOR" "%LOGNOT" "%LOGXOR"
150              "%MULTIPLY" "%MULTIPLY-AND-ADD"
151              "%SUBTRACT-WITH-BORROW" "ADD-BIGNUMS"
152              "BIGNUM-ASHIFT-LEFT" "BIGNUM-ASHIFT-RIGHT"
153              "BIGNUM-COMPARE" "BIGNUM-DEPOSIT-BYTE"
154              "BIGNUM-ELEMENT-TYPE" "BIGNUM-GCD" "BIGNUM-INDEX"
155              "BIGNUM-INTEGER-LENGTH" "BIGNUM-LOAD-BYTE"
156              "BIGNUM-LOGCOUNT" "BIGNUM-LOGICAL-AND"
157              "BIGNUM-LOGICAL-IOR" "BIGNUM-LOGICAL-NOT"
158              "BIGNUM-LOGICAL-XOR" "BIGNUM-PLUS-P"
159              "BIGNUM-TO-FLOAT" "BIGNUM-TRUNCATE" "BIGNUM-TYPE"
160              "FLOAT-BIGNUM-RATIO" "MAKE-SMALL-BIGNUM"
161              "MULTIPLY-BIGNUM-AND-FIXNUM" "MULTIPLY-BIGNUMS"
162              "MULTIPLY-FIXNUMS" "NEGATE-BIGNUM"
163              "SUBTRACT-BIGNUM" "SXHASH-BIGNUM"))
164
165  #s(sb-cold:package-data
166     :name "SB!C"
167     :doc "private: implementation of the compiler"
168     ;; (It seems strange to have the compiler USE SB-ALIEN-INTERNALS,
169     ;; but the point seems to be to be able to express things like
170     ;; SB!C:DEFTRANSFORM SB-ALIEN-INTERNALS:MAKE-LOCAL-ALIEN without
171     ;; having to use a bunch of package prefixes, by putting them
172     ;; in the SB-C package. Maybe it'd be tidier to define an SB-ALIEN-COMP
173     ;; package for this? But it seems like a fairly low priority.)
174     ;; (Probably the same considerations also explain why BIGNUM is
175     ;;in the USE list.)
176     :use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!ASSEM" "SB!BIGNUM"
177           #!+sb-dyncount "SB-DYNCOUNT" "SB!EXT" "SB!FASL" "SB!INT"
178           "SB!KERNEL" "SB!SYS")
179     :reexport ("SLOT" "CODE-INSTRUCTIONS" "FLUSHABLE")
180     :export ("%ALIEN-FUNCALL" "%CATCH-BREAKUP" "%CONTINUE-UNWIND" 
181               "%LISTIFY-REST-ARGS" "%MORE-ARG" "%MORE-ARG-VALUES"
182               "%UNWIND-PROTECT-BREAKUP"
183
184               "*BACKEND-BYTE-ORDER*" "*BACKEND-DISASSEM-PARAMS*"
185               "*BACKEND-INSTRUCTION-FLAVORS*" "*BACKEND-INSTRUCTION-FORMATS*"
186               "*BACKEND-INTERNAL-ERRORS*" "*BACKEND-PAGE-SIZE*"
187               "*BACKEND-REGISTER-SAVE-PENALTY*"
188               "*BACKEND-SB-LIST*" "*BACKEND-SB-NAMES*"
189               "*BACKEND-SC-NAMES*" "*BACKEND-SC-NUMBERS*"
190               "*BACKEND-SPECIAL-ARG-TYPES*"
191               "*BACKEND-SUBFEATURES*"
192               "*BACKEND-T-PRIMITIVE-TYPE*"
193
194               "*CODE-SEGMENT*"
195               "*COUNT-VOP-USAGES*" "*ELSEWHERE*" "*FREE-FUNS*"
196               "*LEXENV*"
197               "*SETF-ASSUMED-FBOUNDP*"
198               "*SUPPRESS-VALUES-DECLARATION*"
199
200               "ALLOC-ALIEN-STACK-SPACE" "ALLOC-NUMBER-STACK-SPACE"
201               "ALLOCATE-CODE-OBJECT" "ALLOCATE-FRAME"
202               "ALLOCATE-DYNAMIC-CODE-OBJECT" "ALLOCATE-FULL-CALL-FRAME"
203               "ANY" "ARG-COUNT-ERROR" "ASSEMBLE-FILE"
204               "ATTRIBUTES" "ATTRIBUTES-INTERSECTION" "ATTRIBUTES-UNION"
205               "ATTRIBUTES=" "BIND"
206               "CALL" "CALL-LOCAL" "CALL-NAMED" "CALL-OUT" "CALL-VARIABLE"
207               "CALLEE-NFP-TN" "CALLEE-RETURN-PC-TN"
208               "CASE-BODY" "CATCH-BLOCK" "CHECK-CONS"
209               "CHECK-FIXNUM" "CHECK-FUN"
210               "CHECK-SIGNED-BYTE-32" "CHECK-SYMBOL" "CHECK-UNSIGNED-BYTE-32"
211               "CLOSURE-INIT" "CLOSURE-REF"
212               "CODE-CONSTANT-REF" "CODE-CONSTANT-SET"
213               "COMPILE-IN-LEXENV"
214               "COMPILE-LAMBDA-FOR-DEFUN"
215               "%COMPILER-DEFUN" "COMPILER-ERROR"
216               "COMPONENT" "COMPONENT-HEADER-LENGTH"
217               "COMPONENT-INFO" "COMPONENT-LIVE-TN" "COMPUTE-FUN"
218               "COMPUTE-OLD-NFP" "COPY-MORE-ARG"
219               "CURRENT-BINDING-POINTER" "CURRENT-NFP-TN"
220               "CURRENT-STACK-POINTER" "DEALLOC-ALIEN-STACK-SPACE"
221               "DEALLOC-NUMBER-STACK-SPACE"
222               "DEF-IR1-TRANSLATOR"
223               "!DEF-PRIMITIVE-TYPE" "!DEF-PRIMITIVE-TYPE-ALIAS"
224               "DEFINE-SOURCE-TRANSFORM" "!DEF-VM-SUPPORT-ROUTINE"
225               "DEFINE-ASSEMBLY-ROUTINE" "DEFINE-MOVE-FUN"
226               "DEFINE-MOVE-VOP" "DEFINE-STORAGE-BASE"
227               "DEFINE-STORAGE-CLASS" "DEFINE-VOP"
228               "DEFKNOWN" "DEFOPTIMIZER"
229               "DEFTRANSFORM" "DERIVE-TYPE"
230               "ENTRY-NODE-INFO-NLX-TAG" "ENTRY-NODE-INFO-ST-TOP"
231               "PHYSENV-DEBUG-LIVE-TN" "PHYSENV-LIVE-TN"
232               "FAST-SYMBOL-VALUE" "FOLDABLE"
233               "FORCE-TN-TO-STACK"
234               "FUN-INFO-DERIVE-TYPE" "FUN-INFO-IR2-CONVERT"
235               "FUN-INFO-LTN-ANNOTATE" "FUN-INFO-OPTIMIZER"
236               "GET-VECTOR-SUBTYPE"
237               "HALT"
238               "IF-EQ" "INLINE-SYNTACTIC-CLOSURE-LAMBDA"
239               "INSTANCE-REF" "INSTANCE-SET"
240               "IR2-COMPONENT-CONSTANTS" "IR2-CONVERT"
241               "IR2-PHYSENV-NUMBER-STACK-P"
242               "KNOWN-CALL-LOCAL" "KNOWN-RETURN"
243               "LAMBDA-WITH-LEXENV" "LEXENV-FIND"
244               "LOCATION=" "LTN-ANNOTATE"
245               "MAKE-ALIAS-TN" "MAKE-CATCH-BLOCK"
246               "MAKE-CLOSURE" "MAKE-CONSTANT-TN" "MAKE-FIXNUM"
247               "MAKE-LOAD-TIME-CONSTANT-TN" "MAKE-N-TNS" "MAKE-NORMAL-TN"
248               "MAKE-OTHER-IMMEDIATE-TYPE" "MAKE-RANDOM-TN"
249               "MAKE-REPRESENTATION-TN" "MAKE-RESTRICTED-TN" "MAKE-SC-OFFSET"
250               "MAKE-STACK-POINTER-TN" "MAKE-TN-REF" "MAKE-UNWIND-BLOCK"
251               "MAKE-WIRED-TN" "MAYBE-COMPILER-NOTE"
252               "MAYBE-INLINE-SYNTACTIC-CLOSURE"
253               "META-PRIMITIVE-TYPE-OR-LOSE"
254               "META-SB-OR-LOSE" "META-SC-NUMBER-OR-LOSE" "META-SC-OR-LOSE"
255               "MORE-ARG-CONTEXT" "MOVABLE" "MOVE" "MULTIPLE-CALL"
256               "MULTIPLE-CALL-LOCAL" "MULTIPLE-CALL-NAMED"
257               "MULTIPLE-CALL-VARIABLE"
258               "NLX-ENTRY" "NLX-ENTRY-MULTIPLE"
259               "NON-DESCRIPTOR-STACK" "NOTE-ENVIRONMENT-START"
260               "NOTE-THIS-LOCATION" "OPTIMIZER" "PACK-TRACE-TABLE"
261               "PARSE-EVAL-WHEN-SITUATIONS"
262               "POLICY" "PREDICATE" "PRIMITIVE-TYPE" "PRIMITIVE-TYPE-OF"
263               "PRIMITIVE-TYPE-OR-LOSE" "PRIMITIVE-TYPE-VOP"
264               "PRIMITIVE-TYPE-NAME" "PUSH-VALUES"
265               "READ-PACKED-BIT-VECTOR" "READ-VAR-INTEGER" "READ-VAR-STRING"
266               "RESET-STACK-POINTER" "RESTORE-DYNAMIC-STATE"
267               "RETURN-MULTIPLE" "SAVE-DYNAMIC-STATE" "SB"
268               "SB-ALLOCATED-SIZE" "SB-NAME" "SB-OR-LOSE" "SB-P" "SC" "SC-CASE"
269               "SC-IS" "SC-NAME" "SC-NUMBER" "SC-NUMBER-OR-LOSE" "SC-OFFSET"
270               "SC-OFFSET-OFFSET" "SC-OFFSET-SCN" "SC-OR-LOSE" "SC-P" "SC-SB"
271               "SET-UNWIND-PROTECT" "SET-VECTOR-SUBTYPE"
272               "SETUP-CLOSURE-ENVIRONMENT" "SETUP-ENVIRONMENT"
273               "SPECIFY-SAVE-TN" "INSTANCE-REF"
274               "INSTANCE-SET" "TAIL-CALL" "TAIL-CALL-NAMED"
275               "TAIL-CALL-VARIABLE" "TEMPLATE-OR-LOSE"
276               "TN" "TN-OFFSET" "TN-P" "TN-REF" "TN-REF-ACROSS" "TN-REF-LOAD-TN"
277               "TN-REF-NEXT" "TN-REF-NEXT-REF" "TN-REF-P" "TN-REF-TARGET"
278               "TN-REF-TN" "TN-REF-VOP" "TN-REF-WRITE-P" "TN-SC" "TN-VALUE"
279               "TRACE-TABLE-ENTRY" "TYPE-CHECK-ERROR" "UNBIND" "UNBIND-TO-HERE"
280               "UNSAFE" "UNWIND" "UWP-ENTRY"
281               "VERIFY-ARG-COUNT" "WRITE-PACKED-BIT-VECTOR"
282               "WRITE-VAR-INTEGER" "WRITE-VAR-STRING" "XEP-ALLOCATE-FRAME"
283               "LABEL-ID" "FIXUP" "FIXUP-FLAVOR" "FIXUP-NAME" "FIXUP-OFFSET"
284               "FIXUP-P" "MAKE-FIXUP"
285               "DEF-ALLOC"
286               "VAR-ALLOC"
287               "SAFE-FDEFN-FUN"
288               "NOTE-FIXUP"
289               "DEF-REFFER"
290               "EMIT-NOP"
291               "DEF-SETTER"
292               "FIXED-ALLOC"
293               "MAKE-UNBOUND-MARKER"
294               "RETURN-SINGLE"
295               "NOTE-NEXT-INSTRUCTION"
296               "SET-SLOT"
297               "LOCATION-NUMBER"
298               "*COMPONENT-BEING-COMPILED*"
299               "BLOCK-NUMBER"
300               "BACKEND"
301               "IR2-BLOCK-BLOCK"
302               "FUNCALLABLE-INSTANCE-LEXENV"
303               "VOP-BLOCK"
304               "*ASSEMBLY-OPTIMIZE*"
305               "LARGE-ALLOC"
306               "%SET-SIMPLE-FUN-SELF"
307               "VM-SUPPORT-ROUTINES-IMMEDIATE-CONSTANT-SC"
308               "VM-SUPPORT-ROUTINES-LOCATION-PRINT-NAME"
309               "VM-SUPPORT-ROUTINES-PRIMITIVE-TYPE-OF"
310               "VM-SUPPORT-ROUTINES-PRIMITIVE-TYPE"
311               "VM-SUPPORT-ROUTINES-MAKE-CALL-OUT-TNS"
312               "VM-SUPPORT-ROUTINES-STANDARD-ARG-LOCATION"
313               "VM-SUPPORT-ROUTINES-MAKE-RETURN-PC-PASSING-LOCATION"
314               "VM-SUPPORT-ROUTINES-MAKE-OLD-FP-PASSING-LOCATION"
315               "VM-SUPPORT-ROUTINES-MAKE-OLD-FP-SAVE-LOCATION"
316               "VM-SUPPORT-ROUTINES-MAKE-RETURN-PC-SAVE-LOCATION"
317               "VM-SUPPORT-ROUTINES-MAKE-ARG-COUNT-LOCATION"
318               "VM-SUPPORT-ROUTINES-MAKE-NFP-TN"
319               "VM-SUPPORT-ROUTINES-MAKE-STACK-POINTER-TN"
320               "VM-SUPPORT-ROUTINES-MAKE-NUMBER-STACK-POINTER-TN"
321               "VM-SUPPORT-ROUTINES-MAKE-UNKNOWN-VALUES-LOCATIONS"
322               "VM-SUPPORT-ROUTINES-SELECT-COMPONENT-FORMAT"
323               "VM-SUPPORT-ROUTINES-MAKE-NLX-SP-TN"
324               "VM-SUPPORT-ROUTINES-MAKE-DYNAMIC-STATE-TNS"
325               "VM-SUPPORT-ROUTINES-MAKE-NLX-ENTRY-ARG-START-LOCATION"
326               "VM-SUPPORT-ROUTINES-GENERATE-CALL-SEQUENCE"
327               "VM-SUPPORT-ROUTINES-GENERATE-RETURN-SEQUENCE"
328               "VM-SUPPORT-ROUTINES-EMIT-NOP"
329               "VM-SUPPORT-ROUTINES-LOCATION-NUMBER"))
330
331  #s(sb-cold:package-data
332     :name "SB!DEBUG"
333     :doc
334 "sorta public: Eventually this should become the debugger interface, with
335 basic stuff like BACKTRACE and ARG. For now, the actual supported interface
336 is still mixed indiscriminately with low-level internal implementation stuff
337 like *STACK-TOP-HINT* and unsupported stuff like *TRACED-FUN-LIST*."
338     :use ("CL" "SB!EXT" "SB!INT" "SB!SYS")
339     :export ("*DEBUG-BEGINNER-HELP-P*"
340              "*DEBUG-CONDITION*"
341              "*DEBUG-PRINT-LENGTH*" "*DEBUG-PRINT-LEVEL*"
342              "*DEBUG-READTABLE*" "*DEBUG-HELP-STRING*"
343              "*FLUSH-DEBUG-ERRORS*" "*IN-THE-DEBUGGER*"
344              "*TRACE-INDENTATION-STEP*" "*MAX-TRACE-INDENTATION*"
345              "*TRACE-FRAME*" "*TRACED-FUN-LIST*"
346              "ARG" "BACKTRACE" "BACKTRACE-AS-LIST" "INTERNAL-DEBUG" "VAR"
347              "*PRINT-LOCATION-KIND*"
348              "*ONLY-BLOCK-START-LOCATIONS*" "*STACK-TOP-HINT*"
349              "*TRACE-VALUES*" "DO-DEBUG-COMMAND"
350              "*TRACE-ENCAPSULATE-DEFAULT*"))
351
352  #s(sb-cold:package-data
353     :name "SB!DI"
354     :doc "private: primitives used to write debuggers"
355     :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS" "SB!VM")
356     :import-from (("SB!C"
357                    "DEBUG-SOURCE-FROM" "DEBUG-SOURCE-NAME"
358                    "DEBUG-SOURCE-CREATED" "DEBUG-SOURCE-COMPILED"
359                    "DEBUG-SOURCE-START-POSITIONS" "MAKE-DEBUG-SOURCE"
360                    "DEBUG-SOURCE" "DEBUG-SOURCE-P"))
361     :reexport ("DEBUG-SOURCE-FROM" "DEBUG-SOURCE-NAME"
362                "DEBUG-SOURCE-CREATED" "DEBUG-SOURCE-COMPILED"
363                "DEBUG-SOURCE-START-POSITIONS" "DEBUG-SOURCE"
364                "DEBUG-SOURCE-P")
365     :export ("ACTIVATE-BREAKPOINT"
366              "AMBIGUOUS-DEBUG-VARS" "AMBIGUOUS-VAR-NAME" "BREAKPOINT"
367              "BREAKPOINT-ACTIVE-P" "BREAKPOINT-HOOK-FUN" "BREAKPOINT-INFO"
368              "BREAKPOINT-KIND" "BREAKPOINT-P" "BREAKPOINT-WHAT" "CODE-LOCATION"
369              "CODE-LOCATION-DEBUG-BLOCK" "CODE-LOCATION-DEBUG-FUN"
370              "CODE-LOCATION-DEBUG-SOURCE" "CODE-LOCATION-FORM-NUMBER"
371              "CODE-LOCATION-P" "CODE-LOCATION-TOPLEVEL-FORM-OFFSET"
372              "CODE-LOCATION-UNKNOWN-P" "CODE-LOCATION=" "DEACTIVATE-BREAKPOINT"
373              "DEBUG-BLOCK" "DEBUG-BLOCK-ELSEWHERE-P" "DEBUG-BLOCK-P"
374              "DEBUG-BLOCK-SUCCESSORS" "DEBUG-CONDITION" "DEBUG-ERROR"
375              "DEBUG-FUN" "DEBUG-FUN-FUN" "DEBUG-FUN-KIND"
376              "DEBUG-FUN-LAMBDA-LIST" "DEBUG-FUN-NAME"
377              "DEBUG-FUN-P" "DEBUG-FUN-START-LOCATION"
378              "DEBUG-FUN-SYMBOL-VARS"
379              "DEBUG-SOURCE-ROOT-NUMBER" "DEBUG-VAR"
380              "DEBUG-VAR-ID" "DEBUG-VAR-INFO-AVAILABLE"
381              "DEBUG-VAR-SYMBOL-NAME" "DEBUG-VAR-P" "DEBUG-VAR-PACKAGE-NAME"
382              "DEBUG-VAR-SYMBOL" "DEBUG-VAR-VALID-VALUE"
383              "DEBUG-VAR-VALIDITY" "DEBUG-VAR-VALUE"
384              "DELETE-BREAKPOINT" "DO-BLOCKS"
385              "DO-DEBUG-BLOCK-LOCATIONS" "DO-DEBUG-FUN-BLOCKS"
386              "DO-DEBUG-FUN-VARS"
387              "FORM-NUMBER-TRANSLATIONS"
388              "FRAME" "FRAME-CATCHES" "FRAME-CODE-LOCATION"
389              "FRAME-DEBUG-FUN" "FRAME-DOWN"
390              "FRAME-FUN-MISMATCH" "FRAME-NUMBER" "FRAME-P" "FRAME-UP"
391              "FUN-DEBUG-FUN" "FUN-END-COOKIE-VALID-P"
392              "INVALID-CONTROL-STACK-POINTER" "INVALID-VALUE"
393              "LAMBDA-LIST-UNAVAILABLE" "MAKE-BREAKPOINT" "NO-DEBUG-BLOCKS"
394              "NO-DEBUG-FUN-RETURNS" "NO-DEBUG-INFO" "PREPROCESS-FOR-EVAL"
395              "RETURN-FROM-FRAME" "SOURCE-PATH-CONTEXT"
396              "TOP-FRAME" "UNHANDLED-DEBUG-CONDITION" "UNKNOWN-CODE-LOCATION"
397              "UNKNOWN-CODE-LOCATION-P" "UNKNOWN-DEBUG-VAR"
398              "CODE-LOCATION-KIND" "FLUSH-FRAMES-ABOVE"))
399
400  #s(sb-cold:package-data
401     :name "SB!DISASSEM"
402     :doc "private: stuff related to the implementation of the disassembler"
403     :use ("CL" "SB!EXT" "SB!INT")
404     :export ("*DISASSEM-INST-ALIGNMENT-BYTES*"
405              "*DISASSEM-NOTE-COLUMN*" "*DISASSEM-OPCODE-COLUMN-WIDTH*"
406              "*DISASSEM-SCHEDULER-P*" "*DISASSEM-LOCATION-COLUMN-WIDTH*"
407              "ADD-COMMENT-HOOK" "ADD-HOOK" "ADD-NOTE-HOOK"
408              "ARG-VALUE" "CREATE-DSTATE" "DISASSEM-STATE"
409              "DISASSEMBLE-CODE-COMPONENT"
410              "DISASSEMBLE-FUN" "DISASSEMBLE-MEMORY"
411              "DISASSEMBLE-SEGMENT" "DISASSEMBLE-SEGMENTS"
412              "DSTATE-CODE" "DSTATE-CURPOS" "DSTATE-GET-PROP"
413              "DSTATE-NEXTPOS" "DSTATE-SEGMENT-LENGTH"
414              "DSTATE-SEGMENT-SAP" "DSTATE-SEGMENT-START"
415              "FIELD-TYPE" "FIND-INST" "GEN-FIELD-TYPE-DECL-FORM"
416              "GEN-INST-DECL-FORM" "GEN-INST-FORMAT-DECL-FORM"
417              "GET-CODE-SEGMENTS" "GET-FUN-SEGMENTS"
418              "GET-INST-SPACE" "HANDLE-BREAK-ARGS"
419              "INST" "INST-FORMAT" "LABEL-SEGMENTS"
420              "MAYBE-NOTE-ASSEMBLER-ROUTINE"
421              "MAYBE-NOTE-ASSOCIATED-STORAGE-REF"
422              "MAYBE-NOTE-NIL-INDEXED-OBJECT"
423              "MAYBE-NOTE-NIL-INDEXED-SYMBOL-SLOT-REF"
424              "MAYBE-NOTE-SINGLE-STORAGE-REF" "NOTE"
425              "NOTE-CODE-CONSTANT" "PARAMS" "PRIN1-QUOTED-SHORT"
426              "PRIN1-SHORT" "PRINT-BYTES"
427              "PRINT-CURRENT-ADDRESS" "PRINT-FIELD" "PRINT-INST"
428              "PRINT-INST-USING" "PRINT-NOTES-AND-NEWLINE"
429              "PRINT-WORDS" "SAP-REF-DCHUNK" "SEG-DEBUG-FUN"
430              "SEG-LENGTH" "SEG-START" "SEGMENT"
431              "SET-ADDRESS-PRINTING-RANGE" "SET-DISASSEM-PARAMS"
432              "SET-DSTATE-SEGMENT" "SIGN-EXTEND" "SPECIALIZE"
433              "GEN-PRINTER-DEF-FORMS-DEF-FORM" "MAKE-DSTATE"
434              "DEFINE-ARG-TYPE" "GEN-ARG-TYPE-DEF-FORM"
435              "READ-SIGNED-SUFFIX" "ADD-OFFS-HOOK"
436              "MAKE-MEMORY-SEGMENT" "GEN-PREAMBLE-FORM"
437              "MAKE-SEGMENT" "SEGMENT-OVERFLOW"
438              "SEG-VIRTUAL-LOCATION" "MAKE-DECODED-INST"
439              "DCHUNK" "*DEFAULT-DSTATE-HOOKS*"
440              "MAKE-CODE-SEGMENT" "MAKE-OFFS-HOOK"
441              "DSTATE-SEGMENT" "DSTATE-CUR-OFFS"
442              "PRINC16" "INSTRUCTION" "DEFINE-INSTRUCTION-FORMAT"
443              "DSTATE-NEXT-OFFS" "INSTALL-INST-FLAVORS"
444              "SEG-SAP-MAKER" "DISASSEMBLE-ASSEM-SEGMENT"
445              "GEN-CLEAR-INFO-FORM" "READ-SUFFIX"
446              "MAP-SEGMENT-INSTRUCTIONS" "GEN-FORMAT-DEF-FORM"
447              "SET-LOCATION-PRINTING-RANGE" "MAKE-VECTOR-SEGMENT"
448              "ADD-OFFS-NOTE-HOOK" "ADD-OFFS-COMMENT-HOOK"
449              "DSTATE-CUR-ADDR" "DSTATE-NEXT-ADDR"))
450
451  #!+sb-dyncount
452  #s(sb-cold:package-data
453     :name "SB!DYNCOUNT"
454     :doc "private: some somewhat-stale code for collecting runtime statistics"
455     :use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!BIGNUM"
456           "SB!EXT" "SB!INT" "SB!KERNEL" "SB!ASSEM" "SB!SYS")
457     :export ("*COLLECT-DYNAMIC-STATISTICS*" "COUNT-ME"
458              "DYNCOUNT-INFO-COUNTS" "DYNCOUNT-INFO-COSTS"
459              "IR2-COMPONENT-DYNCOUNT-INFO"
460              "DYNCOUNT-INFO" "DYNCOUNT-INFO-P"))
461
462  #s(sb-cold:package-data
463     :name "SB!FASL"
464     :doc "private: stuff related to FASL load/dump logic (and GENESIS)"
465     :use ("CL" "SB!ALIEN" "SB!ASSEM" "SB!BIGNUM" "SB!C"
466           "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS")
467     :export ("*ASSEMBLER-ROUTINES*"
468              "+BACKEND-FASL-FILE-IMPLEMENTATION+"
469              "BUILD-ID-CORE-ENTRY-TYPE-CODE"
470              "*FASL-FILE-TYPE*"
471              "CLOSE-FASL-OUTPUT"
472              "DUMP-ASSEMBLER-ROUTINES"
473              "DUMP-OBJECT"
474              "DYNAMIC-CORE-SPACE-ID"
475              "END-CORE-ENTRY-TYPE-CODE"
476              "FASL-CONSTANT-ALREADY-DUMPED-P"
477              "+FASL-FILE-VERSION+"
478              "FASL-DUMP-COLD-LOAD-FORM" "FASL-DUMP-COMPONENT"
479              "FASL-DUMP-COLD-FSET"
480              "FASL-DUMP-LOAD-TIME-VALUE" "FASL-DUMP-LOAD-TIME-VALUE-LAMBDA"
481              "FASL-DUMP-SOURCE-INFO" "FASL-DUMP-TOPLEVEL-LAMBDA-CALL"
482              "FASL-NOTE-HANDLE-FOR-CONSTANT"
483              "FASL-OUTPUT" "FASL-OUTPUT-P"
484              "FASL-OUTPUT-ENTRY-TABLE" "FASL-OUTPUT-STREAM"
485              "FASL-VALIDATE-STRUCTURE"
486              "INITIAL-FUN-CORE-ENTRY-TYPE-CODE"
487              "*!LOAD-TIME-VALUES*"
488              "LOAD-TYPE-PREDICATE"
489              "NEW-DIRECTORY-CORE-ENTRY-TYPE-CODE"
490              "OPEN-FASL-OUTPUT"
491              "READ-ONLY-CORE-SPACE-ID"
492              "*!REVERSED-COLD-TOPLEVELS*"
493              "STATIC-CORE-SPACE-ID"
494              "*STATIC-FOREIGN-SYMBOLS*"
495              "VERSION-CORE-ENTRY-TYPE-CODE"))
496
497  ;; This package is a grab bag for things which used to be internal
498  ;; symbols in package COMMON-LISP. Lots of these symbols are accessed
499  ;; with explicit SB!IMPL:: prefixes in the code. It would be nice to
500  ;; reduce the use of this practice, so if symbols from here which are
501  ;; accessed that way are found to belong more appropriately in
502  ;; an existing package (e.g. KERNEL or SYS or EXT or FASL), I
503  ;; (WHN 19990223) encourage maintainers to move them there..
504  ;;
505  ;; ..except that it's getting so big and crowded that maybe it should
506  ;; be split up, too.
507  #s(sb-cold:package-data
508     :name "SB!IMPL"
509     :doc "private: a grab bag of implementation details"
510     :use ("CL" "SB!ALIEN" "SB!BIGNUM" "SB!DEBUG" "SB!EXT"
511           "SB!FASL" "SB!GRAY" "SB!INT" "SB!KERNEL" "SB!SYS"))
512
513  #s(sb-cold:package-data
514     :name "SB!EXT"
515     :doc "public: miscellaneous supported extensions to the ANSI Lisp spec"
516     :use ("CL" "SB!ALIEN" "SB!INT" "SB!SYS" "SB!GRAY")
517     :export (;; Information about how the program was invoked is
518              ;; nonstandard but very useful.
519              "*POSIX-ARGV*" "POSIX-GETENV" "POSIX-ENVIRON"
520
521              ;; People have various good reasons to mess with the GC.
522              "*AFTER-GC-HOOKS*" "*BEFORE-GC-HOOKS*"
523              "*GC-NOTIFY-AFTER*" "*GC-NOTIFY-BEFORE*" "*GC-NOTIFY-STREAM*"
524              "BYTES-CONSED-BETWEEN-GCS"
525              "GC" "GC-OFF" "GC-ON" "GET-BYTES-CONSED"
526              "*GC-RUN-TIME*"
527              "PURIFY"
528
529              ;; There is no one right way to report progress on
530              ;; hairy compiles.
531              "*COMPILE-PROGRESS*"
532
533              ;; It can be handy to be able to evaluate expressions involving
534              ;; the thing under examination by CL:INSPECT.
535              "*INSPECTED*"
536
537              ;; There is no one right way to do efficiency notes.
538              "*EFFICIENCY-NOTE-COST-THRESHOLD*" "*EFFICIENCY-NOTE-LIMIT*"
539
540              ;; There's no one right way to report errors.
541              "*ENCLOSING-SOURCE-CUTOFF*"
542              "*UNDEFINED-WARNING-LIMIT*"
543
544              ;; and for dedicated users who really want to customize
545              ;; error reporting, we have
546              "DEFINE-SOURCE-CONTEXT"
547
548              ;; FIXME: This name doesn't match the DEFFOO - vs. -
549              ;; DEFINE-FOO convention used in the ANSI spec, and so
550              ;; was deprecated in sbcl-0.pre7, ca. 2001-12-12. After
551              ;; a year or so it can go away completely.
552              "DEF-SOURCE-CONTEXT"
553
554              ;; FIXME: These seem like the right thing, but are they
555              ;; consistent with ANSI? (And actually maybe they're not
556              ;; quite the right thing; it might be better to also do
557              ;; WITH-STANDARD-IO-SYNTAX or something.)
558              "*ERROR-PRINT-LENGTH*" "*ERROR-PRINT-LEVEL*" "*ERROR-PRINT-LINES*"
559
560              ;; extended declarations..
561              "FREEZE-TYPE" "INHIBIT-WARNINGS"
562              "MAYBE-INLINE"
563
564              ;; ..and variables to control compiler policy
565              "*INLINE-EXPANSION-LIMIT*"
566              "*USE-IMPLEMENTATION-TYPES*"
567              "*DERIVE-FUNCTION-TYPES*"
568
569              ;; ..and inspector of compiler policy
570              "DESCRIBE-COMPILER-POLICY"
571
572              ;; a special form for breaking out of our "declarations
573              ;; are assertions" default
574              "TRULY-THE"
575
576              ;; This is something which must exist inside any Common
577              ;; Lisp implementation, and which someone writing a
578              ;; customized toplevel might well want. It seems perverse
579              ;; to hide it from them..
580              "INTERACTIVE-EVAL"
581
582              ;; weak pointers and finalization
583              "CANCEL-FINALIZATION"
584              "FINALIZE"
585              "HASH-TABLE-WEAK-P" "MAKE-WEAK-POINTER"
586              "WEAK-POINTER" "WEAK-POINTER-P" "WEAK-POINTER-VALUE"
587
588              ;; If the user knows we're doing IEEE, he might reasonably
589              ;; want to do this stuff.
590              "FLOAT-DENORMALIZED-P"
591              "FLOAT-NAN-P" "FLOAT-TRAPPING-NAN-P"
592              "FLOAT-INFINITY-P"
593              "SHORT-FLOAT-NEGATIVE-INFINITY"
594              "SHORT-FLOAT-POSITIVE-INFINITY"
595              "SINGLE-FLOAT-NEGATIVE-INFINITY"
596              "SINGLE-FLOAT-POSITIVE-INFINITY"
597              "DOUBLE-FLOAT-NEGATIVE-INFINITY"
598              "DOUBLE-FLOAT-POSITIVE-INFINITY"
599              "LONG-FLOAT-NEGATIVE-INFINITY"
600              "LONG-FLOAT-POSITIVE-INFINITY"
601
602              ;; hacks to work around system limitations
603              "*INTEXP-MAXIMUM-EXPONENT*" ; since we crash hard when
604                                          ; memory is exhausted
605
606              ;; saving Lisp images
607              "SAVE-LISP-AND-DIE"
608
609              ;; provided for completeness to make it more convenient
610              ;; to use command-line --disable-debugger functionality
611              ;; in oddball situations (like building core files using
612              ;; scripts which run unattended, when the core files are
613              ;; intended for interactive use)
614              "DISABLE-DEBUGGER"
615              "ENABLE-DEBUGGER"
616
617              ;; miscellaneous useful supported extensions
618              "QUIT"
619              "*MODULE-PROVIDER-FUNCTIONS*"
620              
621              ;; RUN-PROGRAM is not only useful for users, but also
622              ;; useful to implement parts of SBCL itself, so we're
623              ;; going to have to implement it anyway, so we might
624              ;; as well support it. And then once we're committed
625              ;; to implementing RUN-PROGRAM, it's nice to have it
626              ;; return a PROCESS object with operations defined on
627              ;; that object.
628              "RUN-PROGRAM"
629              "PROCESS-ALIVE-P" "PROCESS-CLOSE"
630              "PROCESS-CORE-DUMPED" "PROCESS-ERROR" "PROCESS-EXIT-CODE"
631              "PROCESS-INPUT" "PROCESS-KILL" "PROCESS-OUTPUT" "PROCESS-P"
632              "PROCESS-PID" "PROCESS-PLIST" "PROCESS-PTY" "PROCESS-STATUS"
633              "PROCESS-STATUS-HOOK" "PROCESS-WAIT"))
634
635  #s(sb-cold:package-data
636     :name "SB!FORMAT"
637     :doc "private: implementation of FORMAT and friends"
638     :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL"))
639
640  #s(sb-cold:package-data
641     :name "SB!GRAY"
642     :doc
643 "public: an implementation of the stream-definition-by-user
644 Lisp extension proposal by David N. Gray"
645     :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
646     :export ("FUNDAMENTAL-BINARY-STREAM" "FUNDAMENTAL-BINARY-INPUT-STREAM"
647              "FUNDAMENTAL-BINARY-OUTPUT-STREAM" "FUNDAMENTAL-CHARACTER-STREAM"
648              "FUNDAMENTAL-CHARACTER-INPUT-STREAM"
649              "FUNDAMENTAL-CHARACTER-OUTPUT-STREAM"
650              "FUNDAMENTAL-INPUT-STREAM" "FUNDAMENTAL-OUTPUT-STREAM"
651              "FUNDAMENTAL-STREAM"
652              "STREAM-ADVANCE-TO-COLUMN" "STREAM-CLEAR-INPUT"
653              "STREAM-CLEAR-OUTPUT" "STREAM-FINISH-OUTPUT" "STREAM-FORCE-OUTPUT"
654              "STREAM-FRESH-LINE" "STREAM-LINE-COLUMN" "STREAM-LINE-LENGTH"
655              "STREAM-LISTEN" "STREAM-PEEK-CHAR" "STREAM-READ-BYTE"
656              "STREAM-READ-CHAR" "STREAM-READ-CHAR-NO-HANG" "STREAM-READ-LINE"
657              "STREAM-READ-SEQUENCE" "STREAM-START-LINE-P" "STREAM-TERPRI"
658              "STREAM-UNREAD-CHAR"
659              "STREAM-WRITE-BYTE" "STREAM-WRITE-CHAR" "STREAM-WRITE-SEQUENCE"
660              "STREAM-WRITE-STRING"))
661
662  #s(sb-cold:package-data
663     :name "SB!INT"
664     :doc
665 "private: miscellaneous unsupported extensions to the ANSI spec. Much of
666 the stuff in here originated in CMU CL's EXTENSIONS package and is
667 retained, possibly temporariliy, because it might be used internally."
668     :use ("CL" "SB!ALIEN" "SB!GRAY" "SB!FASL" "SB!SYS")
669     :export ("*AFTER-SAVE-INITIALIZATIONS*" "*BEFORE-SAVE-INITIALIZATIONS*"
670
671              ;; lambda list keyword extensions
672              "&MORE"
673
674              ;; INFO stuff doesn't belong in a user-visible package, we
675              ;; should be able to change it without apology.
676              "*INFO-ENVIRONMENT*"
677              "CLEAR-INFO"
678              "COMPACT-INFO-ENVIRONMENT"
679              "DEFINE-INFO-CLASS" "DEFINE-INFO-TYPE"
680              "DO-INFO"
681              "INFO"
682              "MAKE-INFO-ENVIRONMENT"
683
684              ;; packages grabbed once and for all
685              "*KEYWORD-PACKAGE*" "*CL-PACKAGE*"
686
687              ;; hash mixing operations
688              "MIX" "MIXF"
689
690              ;; I'm not convinced that FDEFINITIONs are the ideal
691              ;; solution, so exposing ways to peek into the system
692              ;; seems undesirable, since it makes it harder to get
693              ;; rid of FDEFINITIONs entirely later.
694              "*SETF-FDEFINITION-HOOK*"
695
696              ;; error-reporting facilities
697              "SIMPLE-CONTROL-ERROR" "SIMPLE-FILE-ERROR"
698              "SIMPLE-PARSE-ERROR"
699              "SIMPLE-PROGRAM-ERROR" "SIMPLE-STREAM-ERROR"
700              "SIMPLE-STYLE-WARNING"
701              "SPECIAL-FORM-FUNCTION"
702              "STYLE-WARN"
703
704              ;; bootstrapping magic, to make things happen both in
705              ;; the cross-compilation host compiler's environment and
706              ;; in the cross-compiler's environment
707              "DEF!CONSTANT" "DEF!MACRO" "DEF!METHOD" "DEF!STRUCT" "DEF!TYPE"
708
709              ;; stuff for hinting to the compiler
710              "NAMED-LAMBDA"
711
712              ;; other variations on DEFFOO stuff useful for bootstrapping
713              ;; and cross-compiling
714              "DEFMACRO-MUNDANELY"
715              "DEFCONSTANT-EQX"
716
717              ;; messing with PATHNAMEs
718              "MAKE-TRIVIAL-DEFAULT-PATHNAME"
719              "PHYSICALIZE-PATHNAME"
720              "SANE-DEFAULT-PATHNAME-DEFAULTS"
721
722              ;; PCOUNTERs
723              "FASTBIG-INCF-PCOUNTER-OR-FIXNUM"
724              "INCF-PCOUNTER"
725              "INCF-PCOUNTER-OR-FIXNUM"
726              "MAKE-PCOUNTER"
727              "PCOUNTER"
728              "PCOUNTER->INTEGER"
729              "PCOUNTER-OR-FIXNUM->INTEGER"
730              "PCOUNTER-P"
731              "*N-BYTES-FREED-OR-PURIFIED*"
732
733              ;; miscellaneous non-standard but handy user-level functions..
734              "ASSQ" "DELQ" "MEMQ" "POSQ" "NEQ"
735              "%FIND-PACKAGE-OR-LOSE" "FIND-UNDELETED-PACKAGE-OR-LOSE"
736              "SANE-PACKAGE"
737              "CYCLIC-LIST-P"
738              "COMPOUND-OBJECT-P"
739              "SWAPPED-ARGS-FUN"
740              "ANY/TYPE" "EVERY/TYPE"
741              "EQUAL-BUT-NO-CAR-RECURSION"
742              "TYPE-BOUND-NUMBER"
743              "CONSTANTLY-T" "CONSTANTLY-NIL" "CONSTANTLY-0"
744              "PSXHASH"
745              "%BREAK"
746              "NTH-BUT-WITH-SANE-ARG-ORDER"
747              "DEPRECATION-WARNING"
748
749              ;; ..and macros..
750              "COLLECT"
751              "DO-ANONYMOUS" "DOHASH" "DOVECTOR"
752              "NAMED-LET"
753              "ONCE-ONLY"
754              "DEFENUM"
755              "DEFPRINTER"
756              "AVER" "ENFORCE-TYPE"
757              "AWHEN" "ACOND" "IT"
758              "!DEF-BOOLEAN-ATTRIBUTE"
759
760              ;; ..and CONDITIONs..
761              "BUG"
762              "UNSUPPORTED-OPERATOR"
763
764              ;; ..and DEFTYPEs..
765              "INDEX" "LOAD/STORE-INDEX"
766              "SIGNED-BYTE-WITH-A-BITE-OUT"
767              "UNSIGNED-BYTE-WITH-A-BITE-OUT"
768              ;; ..and type predicates
769              "INSTANCEP"
770              "DOUBLE-FLOAT-P"
771              "LOGICAL-PATHNAME-P"
772              "LONG-FLOAT-P"
773              "SHORT-FLOAT-P"
774              "SINGLE-FLOAT-P"
775              "FIXNUMP"
776              "BIGNUMP"
777              "RATIOP"
778
779              ;; encapsulation
780              "ARG-LIST"
781              "BASIC-DEFINITION"
782              "ENCAPSULATE" "ENCAPSULATED-P"
783              "UNENCAPSULATE"
784
785              ;; various CHAR-CODEs
786              "BACKSPACE-CHAR-CODE" "BELL-CHAR-CODE" "ESCAPE-CHAR-CODE"
787              "FORM-FEED-CHAR-CODE" "LINE-FEED-CHAR-CODE"
788              "RETURN-CHAR-CODE" "RUBOUT-CHAR-CODE" "TAB-CHAR-CODE"
789
790              ;; symbol-hacking idioms
791              "KEYWORDICATE" "SYMBOLICATE"
792
793              ;; certainly doesn't belong in public extensions
794              ;; FIXME: maybe belongs in %KERNEL with other typesystem stuff?
795              "CONSTANT-ARG"
796
797              ;; various internal defaults
798              "DEFAULT-INIT-CHAR" "*DEFAULT-INIT-CHAR-FORM*"
799              "*LOAD-SOURCE-DEFAULT-TYPE*"
800
801              ;; hash caches
802              "DEFINE-HASH-CACHE"
803              "DEFUN-CACHED"
804              "DEFINE-CACHED-SYNONYM"
805
806              ;; time
807              "FORMAT-DECODED-TIME"
808              "FORMAT-UNIVERSAL-TIME"
809
810              ;; indenting
811              "MAKE-INDENTING-STREAM"
812
813              ;; stream commands, used by the debugger
814              "GET-STREAM-COMMAND" "MAKE-STREAM-COMMAND" "STREAM-COMMAND"
815              "STREAM-COMMAND-ARGS" "STREAM-COMMAND-NAME" "STREAM-COMMAND-P"
816
817              ;; used for FORMAT tilde paren
818              "MAKE-CASE-FROB-STREAM"
819
820              ;; helpers for C library calls
821              "STRERROR" "SIMPLE-PERROR"
822
823              ;; debuggers' little helpers
824              #!+sb-show "*/SHOW*"
825              #!+sb-show "HEXSTR"
826              "/SHOW"  "/NOSHOW"
827              "/XHOW"  "/NOXHOW"
828              "/SHOW0" "/NOSHOW0"
829              "/HEXSTR" "/NOHEXSTR"
830              "/PRIMITIVE-PRINT" "/NO-PRIMITIVE-PRINT"
831
832              ;; cross-compilation bootstrap hacks which turn into
833              ;; placeholders in a target system
834              "UNCROSS"
835
836              ;; might as well be shared among the various files which
837              ;; need it:
838              "*EOF-OBJECT*"
839
840              ;; alien interface utilities
841              "C-STRINGS->STRING-LIST"
842
843              ;; misc. utilities used internally
844              "LEGAL-FUN-NAME-P" "LEGAL-FUN-NAME-OR-TYPE-ERROR"
845              "FUN-NAME-BLOCK-NAME"
846              "FUN-NAME-INLINE-EXPANSION"
847              "WHITESPACE-CHAR-P"
848              "LISTEN-SKIP-WHITESPACE"
849              "PACKAGE-INTERNAL-SYMBOL-COUNT" "PACKAGE-EXTERNAL-SYMBOL-COUNT"
850              "PARSE-BODY" "PARSE-LAMBDA-LIST" "PARSE-LAMBDA-LIST-LIKE-THING"
851              "PROPER-LIST-OF-LENGTH-P"
852              "LIST-OF-LENGTH-AT-LEAST-P"
853              "LIST-WITH-LENGTH-P"
854              "READ-SEQUENCE-OR-DIE"
855              "RENAME-KEY-ARGS"
856              "MISSING-ARG"
857              "UNIX-NAMESTRING" ; FIXME: perhaps belongs in package SB!UNIX
858              "FEATUREP"
859              "FLUSH-STANDARD-OUTPUT-STREAMS"
860              "MAKE-GENSYM-LIST"
861              "ABOUT-TO-MODIFY-SYMBOL-VALUE"
862              "SYMBOL-SELF-EVALUATING-P"
863              "PRINT-PRETTY-ON-STREAM-P"
864              "ARRAY-READABLY-PRINTABLE-P"
865              "LOOKS-LIKE-NAME-OF-SPECIAL-VAR-P"
866              "POSITIVE-PRIMEP"
867              "EVAL-IN-LEXENV"
868              "DEBUG-NAMIFY"
869
870              ;; These could be moved back into SB!EXT if someone has
871              ;; compelling reasons, but hopefully we can get by
872              ;; without supporting them, at least not as publicly
873              ;; accessible things with fixed interfaces.
874              "GET-FLOATING-POINT-MODES"
875              "SET-FLOATING-POINT-MODES"
876              "WITH-FLOAT-TRAPS-MASKED"
877              "DEFINE-HASH-TABLE-TEST"
878
879              ;; compatibility hacks for old-style CMU CL data formats
880              "UNIX-ENVIRONMENT-CMUCL-FROM-SBCL"
881              "UNIX-ENVIRONMENT-SBCL-FROM-CMUCL"
882
883              ;; a sort of quasi-unbound tag for use in hash tables
884              "+EMPTY-HT-SLOT+"
885
886              ;; low-level i/o stuff
887              "DONE-WITH-FAST-READ-BYTE"
888              "DONE-WITH-FAST-READ-CHAR"
889              "FAST-READ-BYTE"
890              "FAST-READ-BYTE-REFILL"
891              "FAST-READ-CHAR"
892              "FAST-READ-CHAR-REFILL"
893              "FAST-READ-S-INTEGER"
894              "FAST-READ-U-INTEGER"
895              "FAST-READ-VAR-U-INTEGER"
896              "FILE-NAME"
897              "INTERN*"
898              "PREPARE-FOR-FAST-READ-BYTE"
899              "PREPARE-FOR-FAST-READ-CHAR"
900
901              ;; hackery to help set up for cold init
902              "!BEGIN-COLLECTING-COLD-INIT-FORMS"
903              "!COLD-INIT-FORMS"
904              "COLD-FSET"
905              "!DEFUN-FROM-COLLECTED-COLD-INIT-FORMS"
906
907              ;; hooks for contrib/ stuff we're insufficiently sure
908              ;; about to add to SB!EXT
909              "*REPL-PROMPT-FUN*"
910              "*REPL-READ-FORM-FUN*"))
911
912  ;; FIXME: This package is awfully huge. It'd probably be good to
913  ;; split it. There's at least one natural way to split it: the
914  ;; implementation of the Lisp type system (e.g. TYPE-INTERSECTION and
915  ;; SPECIFIER-TYPE) could move to a separate package SB!TYPE. (There's
916  ;; lots of stuff which currently uses the SB!KERNEL package which
917  ;; doesn't actually use the type system stuff.) And maybe other
918  ;; possible splits too:
919  ;;   * Pull GC stuff (*GC-INHIBIT*, *NEED-TO-COLLECT-GARBAGE*, etc.)
920  ;;     out into SB-GC.
921  ;;   * Pull special case implementations of sequence functions (e.g.
922  ;;     %MAP-TO-LIST-ARITY-1 and %FIND-POSITION-IF-NOT) and 
923  ;;     other sequence function implementation grot into SB-SEQ.
924  ;;   * Pull all the math stuff (%ACOS, %COSH, 32BIT-LOGICAL-AND...)
925  ;;     into SB-MATH.
926  ;;   * Pull all the array stuff (%ARRAY-DATA-VECTOR, %RAW-REF-LONG,
927  ;;     WITH-ARRAY-DATA, ALLOCATE-VECTOR, HAIRY-DATA-VECTOR-REF...)
928  ;;     into SB-ARRAY.
929  ;;   * Pull all the streams stuff out into SB-STREAM.
930  ;;   * Pull all the OBJECT-NOT-FOO symbols out. Maybe we could even
931  ;;     figure out a way to stop exporting them? Failing that,
932  ;;     they could be in SB-INTERR.
933  #s(sb-cold:package-data
934     :name "SB!KERNEL"
935     :doc
936 "private: Theoretically this 'hides state and types used for package
937 integration' (said CMU CL architecture.tex) and that probably was and
938 is a good idea, but see SB-SYS re. blurring of boundaries."
939     :use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!BIGNUM"
940           "SB!EXT" "SB!FASL" "SB!INT" "SB!SYS" "SB!GRAY")
941     :reexport ("DEF!STRUCT" "DEF!MACRO")
942     :export ("%ACOS" "%ACOSH" "%ARRAY-AVAILABLE-ELEMENTS"
943              "%ARRAY-DATA-VECTOR" "%ARRAY-DIMENSION"
944              "%ARRAY-DISPLACED-P"
945              "%ARRAY-DISPLACEMENT" "%ARRAY-FILL-POINTER"
946              "%ARRAY-FILL-POINTER-P"
947              "%ASIN" "%ASINH"
948              "%ATAN" "%ATAN2" "%ATANH"
949              "%CALLER-FRAME-AND-PC" "%CHECK-BOUND"
950              "%CHECK-VECTOR-SEQUENCE-BOUNDS" "%CLOSURE-FUN"
951              "%CLOSURE-INDEX-REF" "%COS" "%COS-QUICK"
952              "%COSH" "%DATA-VECTOR-AND-INDEX"
953              "%DEPOSIT-FIELD"
954              "%DOUBLE-FLOAT" "%DPB" "%EXP" "%EXPM1"
955              "%FIND-POSITION" "%FIND-POSITION-VECTOR-MACRO"
956              "%FIND-POSITION-IF" "%FIND-POSITION-IF-VECTOR-MACRO"
957              "%FIND-POSITION-IF-NOT" "%FIND-POSITION-IF-NOT-VECTOR-MACRO"
958              "%FUN-DOC" "%FUN-NAME"
959              "%HYPOT" "%LDB"
960              "%LOG" "%LOGB" "%LOG10" "%LOG1P"
961              #!+long-float "%LONG-FLOAT"
962              "%MAKE-COMPLEX" "%MAKE-FUNCALLABLE-INSTANCE" "%MAKE-RATIO"
963              "%MAP" "%MAP-TO-SIMPLE-VECTOR-ARITY-1" "%MAP-TO-LIST-ARITY-1"
964              "%MAP-TO-NIL-ON-SEQUENCE" "%MAP-TO-NIL-ON-SIMPLE-VECTOR"
965              "%MAP-TO-NIL-ON-VECTOR" "%MASK-FIELD" "%NEGATE" "%POW"
966              "%PUTHASH" "%RAW-BITS" "%RAW-REF-COMPLEX-DOUBLE"
967              "%RAW-REF-COMPLEX-LONG"
968              "%RAW-REF-COMPLEX-SINGLE" "%RAW-REF-DOUBLE"
969              "%RAW-REF-LONG"
970              "%RAW-REF-SINGLE" "%RAW-SET-COMPLEX-DOUBLE"
971              "%RAW-SET-COMPLEX-LONG" "%RAW-SET-COMPLEX-SINGLE"
972              "%RAW-SET-DOUBLE" "%RAW-SET-LONG" "%RAW-SET-SINGLE"
973              "%SCALB" "%SCALBN" "%SET-FUNCALLABLE-INSTANCE-FUN"
974              "%SET-FUNCALLABLE-INSTANCE-INFO" "%SET-RAW-BITS"
975              "%SET-SAP-REF-16" "%SET-SAP-REF-32" "%SET-SAP-REF-64"
976              "%SET-SAP-REF-8" "%SET-SAP-REF-DOUBLE" "%SET-SAP-REF-LONG"
977              "%SET-SAP-REF-SAP" "%SET-SAP-REF-SINGLE"
978              "%SET-SIGNED-SAP-REF-16" "%SET-SIGNED-SAP-REF-32"
979              "%SET-SIGNED-SAP-REF-64" "%SET-SIGNED-SAP-REF-8"
980              "%SET-STACK-REF" "%SIN" "%SIN-QUICK"
981              "%SINGLE-FLOAT" "%SINH" 
982              "%SQRT" "%SXHASH-SIMPLE-STRING"
983              "%SXHASH-SIMPLE-SUBSTRING" "%TAN" "%TAN-QUICK"
984              "%TANH" "%UNARY-ROUND" "%UNARY-TRUNCATE"
985              "%WITH-ARRAY-DATA" "%WITH-ARRAY-DATA-MACRO" 
986              "*ALREADY-MAYBE-GCING*"
987              "*CURRENT-LEVEL-IN-PRINT*" "*EMPTY-TYPE*"
988              "*GC-INHIBIT*"
989              "*NEED-TO-COLLECT-GARBAGE*"
990              "*CONTROL-STACK-EXHAUSTION-SAP*"
991              "*UNIVERSAL-TYPE*" "*UNIVERSAL-FUN-TYPE*"
992              "*UNPARSE-FUN-TYPE-SIMPLIFY*" "*WILD-TYPE*"
993              "32BIT-LOGICAL-AND" "32BIT-LOGICAL-ANDC1"
994              "32BIT-LOGICAL-ANDC2"
995              "32BIT-LOGICAL-EQV" "32BIT-LOGICAL-NAND"
996              "32BIT-LOGICAL-NOR"
997              "32BIT-LOGICAL-NOT" "32BIT-LOGICAL-OR"
998              "32BIT-LOGICAL-ORC1"
999              "32BIT-LOGICAL-ORC2" "32BIT-LOGICAL-XOR"
1000              "ALIEN-TYPE-TYPE"
1001              "ALIEN-TYPE-TYPE-ALIEN-TYPE" "ALIEN-TYPE-TYPE-P"
1002              "ALLOCATE-VECTOR"
1003              "ALWAYS-SUBTYPEP" "ARGS-TYPE" "ARGS-TYPE-ALLOWP"
1004              "ARGS-TYPE-KEYP"
1005              "ARGS-TYPE-KEYWORDS" "ARGS-TYPE-OPTIONAL" "ARGS-TYPE-P"
1006              "ARGS-TYPE-REQUIRED" "ARGS-TYPE-REST"
1007              "ARRAY-HEADER-P" "ARRAY-TYPE" "ARRAY-TYPE-COMPLEXP"
1008              "ARRAY-TYPE-DIMENSIONS" "ARRAY-TYPE-ELEMENT-TYPE"
1009              "ARRAY-TYPE-P"
1010              "ARRAY-TYPE-SPECIALIZED-ELEMENT-TYPE" "ASH-INDEX"
1011              "ASSERT-ERROR" "BASE-CHAR-P"
1012              "BINDING-STACK-POINTER-SAP" "BIT-BASH-COPY"
1013              "BIT-INDEX" "BOGUS-ARG-TO-VALUES-LIST-ERROR"
1014              "BOOLE-CODE"
1015              "BOUNDING-INDICES-BAD-ERROR"
1016              "BYTE-SPECIFIER"
1017              "%BYTE-BLT"
1018              "CALLABLE" "CASE-BODY-ERROR"
1019              "CHARPOS"
1020              "CHECK-FOR-CIRCULARITY" "CHECK-TYPE-ERROR"
1021              "CLOSED-FLAME"
1022              "CODE-COMPONENT" "CODE-COMPONENT-P"
1023              "CODE-DEBUG-INFO" "CODE-HEADER-REF" "CODE-HEADER-SET"
1024              "CODE-INSTRUCTIONS"
1025              "COERCE-TO-FUN" "COERCE-TO-LEXENV"
1026              "COERCE-TO-LIST" "COERCE-TO-VECTOR"
1027              "*COLD-INIT-COMPLETE-P*"
1028              "COMPLEX-DOUBLE-FLOAT-P"
1029              "COMPLEX-FLOAT-P"
1030              #!+long-float "COMPLEX-LONG-FLOAT-P"
1031              "COMPLEX-RATIONAL-P" "COMPLEX-SINGLE-FLOAT-P" "COMPLEX-VECTOR-P"
1032              "COMPOUND-TYPE" "COMPOUND-TYPE-P" "COMPOUND-TYPE-TYPES"
1033              "CONS-TYPE" "CONS-TYPE-CAR-TYPE" "CONS-TYPE-CDR-TYPE"
1034              "CONS-TYPE-P"
1035              "CONSED-SEQUENCE" "CONSTANT" "CONSTANT-TYPE"
1036              "CONSTANT-TYPE-P" "CONSTANT-TYPE-TYPE"
1037              "CONTAINING-INTEGER-TYPE"
1038              "CONTROL-STACK-POINTER-SAP" "COPY-FROM-SYSTEM-AREA"
1039              "COPY-TO-SYSTEM-AREA"
1040              "COPY-BYTE-VECTOR-TO-SYSTEM-AREA"
1041              "CSUBTYPEP" "CTYPE" "TYPE-HASH-VALUE"
1042              "CTYPE-OF" "CTYPE-P" "CTYPEP" "CURRENT-FP" "CURRENT-SP"
1043              "DATA-VECTOR-REF" "DATA-VECTOR-SET" "DECODE-DOUBLE-FLOAT"
1044              #!+long-float "DECODE-LONG-FLOAT"
1045              "DECODE-SINGLE-FLOAT"
1046              "DEFINED-FTYPE-MATCHES-DECLARED-FTYPE-P"
1047              "!DEFSTRUCT-WITH-ALTERNATE-METACLASS"
1048              "DESCEND-INTO"
1049              "DIVISION-BY-ZERO-ERROR"
1050              "DOUBLE-FLOAT-EXPONENT" "DOUBLE-FLOAT-HIGH-BITS"
1051              "DOUBLE-FLOAT-INT-EXPONENT" "DOUBLE-FLOAT-LOW-BITS"
1052              "DOUBLE-FLOAT-SIGNIFICAND"
1053              "FLOAT-WAIT"
1054              "DYNAMIC-SPACE-FREE-POINTER" "DYNAMIC-USAGE"
1055              "EFFECTIVE-FIND-POSITION-TEST" "EFFECTIVE-FIND-POSITION-KEY"
1056              "ERROR-NUMBER-OR-LOSE"
1057              "FAILED-%WITH-ARRAY-DATA"
1058              "FDEFINITION-OBJECT"
1059              "FDOCUMENTATION" "FILENAME"
1060              "FIND-AND-INIT-OR-CHECK-LAYOUT"
1061              "FLOAT-EXPONENT" "FLOAT-FORMAT-DIGITS" "FLOAT-FORMAT-NAME"
1062              "FLOAT-FORMAT-MAX" "FLOATING-POINT-EXCEPTION"
1063              "FORM" "*FREE-INTERRUPT-CONTEXT-INDEX*" "FUNCALLABLE-INSTANCE-P"
1064              "FUN-CODE-HEADER" 
1065              "FUN-TYPE" "FUN-TYPE-ALLOWP"
1066              "FUN-TYPE-KEYP" "FUN-TYPE-KEYWORDS"
1067              "FUN-TYPE-NARGS" "FUN-TYPE-OPTIONAL"
1068              "FUN-TYPE-P"
1069              "FUN-TYPE-REQUIRED" "FUN-TYPE-REST"
1070              "FUN-TYPE-RETURNS" "FUN-TYPE-WILD-ARGS"
1071              "FUN-WORD-OFFSET" "GET-CLOSURE-LENGTH"
1072              "GET-HEADER-DATA"
1073              "GET-LISP-OBJ-ADDRESS" "LOWTAG-OF"
1074              "WIDETAG-OF"
1075              "HAIRY-DATA-VECTOR-REF" "HAIRY-DATA-VECTOR-SET" "HAIRY-TYPE"
1076              "HAIRY-TYPE-CHECK-TEMPLATE-NAME" "HAIRY-TYPE-SPECIFIER"
1077              "HANDLE-CIRCULARITY" "HOST" "IGNORE-IT"
1078              "ILL-BIN" "ILL-BOUT" "ILL-IN" "ILL-OUT"
1079              "INDEX-OR-MINUS-1"
1080              "INDEX-TOO-LARGE-ERROR"
1081              "*!INITIAL-ASSEMBLER-ROUTINES*"
1082              "*!INITIAL-FDEFN-OBJECTS*" "*!INITIAL-FOREIGN-SYMBOLS*"
1083              "*!INITIAL-LAYOUTS*" "*!INITIAL-SYMBOLS*"
1084              "INTEGER-DECODE-DOUBLE-FLOAT"
1085              #!+long-float "INTEGER-DECODE-LONG-FLOAT"
1086              "INTEGER-DECODE-SINGLE-FLOAT"
1087              "INTERNAL-ERROR" "INTERNAL-TIME"
1088              "INTERSECTION-TYPE" "INTERSECTION-TYPE-P"
1089              "INTERSECTION-TYPE-TYPES"
1090              "INVALID-ARG-COUNT-ERROR" "INVALID-ARRAY-INDEX-ERROR"
1091              "INVALID-UNWIND-ERROR" "IRRATIONAL"
1092              "JUST-DUMP-IT-NORMALLY"
1093              "KEY-INFO" "KEY-INFO-NAME"
1094              "KEY-INFO-P" "KEY-INFO-TYPE"
1095              "LAYOUT-DEPTHOID" "LAYOUT-INVALID-ERROR"
1096              "LEXENV" "LEXENV-DESIGNATOR"
1097              "LINE-LENGTH"
1098              "ANSI-STREAM"
1099              "ANSI-STREAM-BIN" "ANSI-STREAM-BOUT"
1100              "ANSI-STREAM-CLOSE"
1101              "ANSI-STREAM-ELEMENT-TYPE"
1102              "ANSI-STREAM-IN" "ANSI-STREAM-IN-BUFFER"
1103              "ANSI-STREAM-IN-INDEX"
1104              "ANSI-STREAM-INPUT-STREAM-P"
1105              "ANSI-STREAM-MISC" "ANSI-STREAM-N-BIN"
1106              "ANSI-STREAM-OPEN-STREAM-P"
1107              "ANSI-STREAM-OUT" "ANSI-STREAM-SOUT"
1108              "ANSI-STREAM-OUTPUT-STREAM-P"
1109              "LIST-TO-VECTOR*" 
1110              "LOGICAL-HOST" "LOGICAL-HOST-DESIGNATOR"
1111              #!+long-float "LONG-FLOAT-EXPONENT"
1112              #!+long-float "LONG-FLOAT-EXP-BITS"
1113              #!+long-float "LONG-FLOAT-HIGH-BITS"
1114              #!+long-float "LONG-FLOAT-LOW-BITS"
1115              #!+long-float "LONG-FLOAT-MID-BITS"
1116              "LONG-WORDS"
1117              "LRA" "LRA-CODE-HEADER" "LRA-P"
1118              "MAKE-ALIEN-TYPE-TYPE" "MAKE-ARGS-TYPE"
1119              "MAKE-ARRAY-HEADER" "MAKE-ARRAY-TYPE" "MAKE-CONS-TYPE"
1120              "MAKE-DOUBLE-FLOAT" "MAKE-FUN-TYPE"
1121              "MAKE-KEY-INFO" "MAKE-LISP-OBJ"
1122              #!+long-float "MAKE-LONG-FLOAT"
1123              "MAKE-MEMBER-TYPE" "MAKE-NAMED-TYPE"
1124              "MAKE-NULL-LEXENV" "MAKE-NULL-INTERACTIVE-LEXENV"
1125              "MAKE-NUMERIC-TYPE"
1126              "MAKE-SINGLE-FLOAT" "MAKE-SPECIALIZABLE-ARRAY"
1127              "%MAKE-INSTANCE"
1128              "MAKE-VALUE-CELL"
1129              "MAKE-VALUES-TYPE"
1130              "MAYBE-GC" "MEMBER-TYPE" "MEMBER-TYPE-MEMBERS"
1131              "MEMBER-TYPE-P" "MERGE-BITS" "MODIFIED-NUMERIC-TYPE"
1132              "MUTATOR-SELF"
1133              "NAMED-TYPE" "NAMED-TYPE-NAME" "NAMED-TYPE-P"
1134              "NATIVE-BYTE-ORDER" "NEGATE"
1135              "NEGATION-TYPE" "NEGATION-TYPE-TYPE"
1136              "NEVER-SUBTYPEP" "NIL-FUN-RETURNED-ERROR"
1137              "NOT-<=-ERROR" "NOT-=-ERROR"
1138              "NOT-DUMPED-AT-ALL"
1139              "NUMERIC-CONTAGION" "NUMERIC-TYPE"
1140              "NUMERIC-TYPE-CLASS" "NUMERIC-TYPE-COMPLEXP"
1141              "NUMERIC-TYPE-FORMAT"
1142              "NUMERIC-TYPE-HIGH" "NUMERIC-TYPE-LOW" "NUMERIC-TYPE-P"
1143              "OBJECT-NOT-ARRAY-ERROR" "OBJECT-NOT-BASE-CHAR-ERROR"
1144              "OBJECT-NOT-BIGNUM-ERROR" "OBJECT-NOT-BIT-VECTOR-ERROR"
1145              "OBJECT-NOT-COMPLEX-ERROR"
1146              "OBJECT-NOT-COMPLEX-FLOAT-ERROR"
1147              "OBJECT-NOT-COMPLEX-SINGLE-FLOAT-ERROR"
1148              #!+long-float "OBJECT-NOT-COMPLEX-LONG-FLOAT-ERROR"
1149              "OBJECT-NOT-COMPLEX-DOUBLE-FLOAT-ERROR"
1150              "OBJECT-NOT-COMPLEX-RATIONAL-ERROR"
1151              ;; FIXME: It's confusing using "complex" to mean
1152              ;; both "not on the real number line" and "not of
1153              ;; a SIMPLE-ARRAY nature". Perhaps we could rename
1154              ;; all the uses in the second sense as "hairy" instead?
1155              "OBJECT-NOT-COMPLEX-VECTOR-ERROR"
1156              "OBJECT-NOT-CONS-ERROR"
1157              "OBJECT-NOT-DOUBLE-FLOAT-ERROR" "OBJECT-NOT-FIXNUM-ERROR"
1158              "OBJECT-NOT-FLOAT-ERROR" "OBJECT-NOT-FUN-ERROR"
1159              "OBJECT-NOT-INSTANCE-ERROR"
1160              "OBJECT-NOT-INTEGER-ERROR"
1161              "OBJECT-NOT-LIST-ERROR"
1162              #!+long-float "OBJECT-NOT-LONG-FLOAT-ERROR"
1163              "OBJECT-NOT-NUMBER-ERROR"
1164              "OBJECT-NOT-RATIO-ERROR" "OBJECT-NOT-RATIONAL-ERROR"
1165              "OBJECT-NOT-REAL-ERROR" "OBJECT-NOT-SAP-ERROR"
1166              "OBJECT-NOT-SIGNED-BYTE-32-ERROR"
1167              "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-ERROR"
1168              #!+long-float "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-ERROR"
1169              "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-ERROR"
1170              "OBJECT-NOT-SIMPLE-ARRAY-DOUBLE-FLOAT-ERROR"
1171              "OBJECT-NOT-SIMPLE-ARRAY-ERROR"
1172              #!+long-float "OBJECT-NOT-SIMPLE-ARRAY-LONG-FLOAT-ERROR"
1173              "OBJECT-NOT-SIMPLE-ARRAY-SINGLE-FLOAT-ERROR"
1174              "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-16-ERROR"
1175              "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-2-ERROR"
1176              "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-32-ERROR"
1177              "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-4-ERROR"
1178              "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-8-ERROR"
1179              "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-16-ERROR"
1180              "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-30-ERROR"
1181              "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-32-ERROR"
1182              "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-8-ERROR"
1183              "OBJECT-NOT-SIMPLE-BIT-VECTOR-ERROR"
1184              "OBJECT-NOT-SIMPLE-STRING-ERROR"
1185              "OBJECT-NOT-SIMPLE-VECTOR-ERROR"
1186              "OBJECT-NOT-SINGLE-FLOAT-ERROR" "OBJECT-NOT-STRING-ERROR"
1187              "OBJECT-NOT-INSTANCE-ERROR" "OBJECT-NOT-SYMBOL-ERROR"
1188              "OBJECT-NOT-TYPE-ERROR"
1189              "OBJECT-NOT-UNSIGNED-BYTE-32-ERROR"
1190              "OBJECT-NOT-VECTOR-ERROR" "OBJECT-NOT-WEAK-POINTER-ERROR"
1191              "ODD-KEY-ARGS-ERROR"
1192              "OUTPUT-OBJECT" "OUTPUT-UGLY-OBJECT"
1193              "PACKAGE-DOC-STRING"
1194              "PACKAGE-HASHTABLE-SIZE" "PACKAGE-HASHTABLE-FREE"
1195              "PACKAGE-INTERNAL-SYMBOLS" "PACKAGE-EXTERNAL-SYMBOLS"
1196              "PARSE-DEFMACRO" "PARSE-UNKNOWN-TYPE"
1197              "PARSE-UNKNOWN-TYPE-SPECIFIER" "PATHNAME-DESIGNATOR"
1198              #!+x86 "*PSEUDO-ATOMIC-ATOMIC*"
1199              #!+x86 "*PSEUDO-ATOMIC-INTERRUPTED*"
1200              "PUNT-PRINT-IF-TOO-LONG"
1201              "READER-IMPOSSIBLE-NUMBER-ERROR" "READER-PACKAGE-ERROR"
1202              "SCALE-DOUBLE-FLOAT"
1203              #!+long-float "SCALE-LONG-FLOAT"
1204              "SCALE-SINGLE-FLOAT"
1205              "SEQUENCE-COUNT"
1206              "SEQUENCE-END" "SEQUENCE-OF-CHECKED-LENGTH-GIVEN-TYPE"
1207              "SET-ARRAY-HEADER" "SET-HEADER-DATA" "SHIFT-TOWARDS-END"
1208              "SHIFT-TOWARDS-START" "SHRINK-VECTOR" "SIGNED-BYTE-32-P"
1209              "SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-P"
1210              #!+long-float "SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-P"
1211              "SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-P"
1212              "SIMPLE-ARRAY-DOUBLE-FLOAT-P"
1213              #!+long-float "SIMPLE-ARRAY-LONG-FLOAT-P"
1214              "SIMPLE-ARRAY-P"
1215              "SIMPLE-ARRAY-SINGLE-FLOAT-P"
1216              "SIMPLE-ARRAY-UNSIGNED-BYTE-16-P"
1217              "SIMPLE-ARRAY-UNSIGNED-BYTE-2-P"
1218              "SIMPLE-ARRAY-UNSIGNED-BYTE-32-P"
1219              "SIMPLE-ARRAY-UNSIGNED-BYTE-4-P"
1220              "SIMPLE-ARRAY-UNSIGNED-BYTE-8-P"
1221              "SIMPLE-ARRAY-SIGNED-BYTE-16-P"
1222              "SIMPLE-ARRAY-SIGNED-BYTE-30-P"
1223              "SIMPLE-ARRAY-SIGNED-BYTE-32-P"
1224              "SIMPLE-ARRAY-SIGNED-BYTE-8-P"
1225              "SIMPLE-PACKAGE-ERROR"
1226              "SIMPLE-UNBOXED-ARRAY"
1227              "SINGLE-FLOAT-BITS" "SINGLE-FLOAT-EXPONENT"
1228              "SINGLE-FLOAT-INT-EXPONENT"
1229              "SINGLE-FLOAT-SIGNIFICAND"
1230              "SINGLE-VALUE-TYPE" "SINGLE-VALUE-SPECIFIER-TYPE"
1231              "SPECIALIZABLE" "SPECIALIZABLE-VECTOR"
1232              "SPECIFIER-TYPE" "STACK-REF"
1233              "STREAMLIKE" "STRINGABLE"
1234              "STRUCTURE-RAW-SLOT-TYPE-AND-SIZE"
1235              "%INSTANCE-LENGTH"
1236              "%INSTANCE-REF" "%INSTANCE-SET"
1237              "SYSTEM-AREA-CLEAR"
1238              "SYSTEM-AREA-COPY" "TWO-ARG-*"
1239              "TWO-ARG-+" "TWO-ARG--"
1240              "TWO-ARG-/" "TWO-ARG-/=" "TWO-ARG-<"
1241              "TWO-ARG-<=" "TWO-ARG-="
1242              "TWO-ARG->" "TWO-ARG->=" "TWO-ARG-AND"
1243              "TWO-ARG-GCD" "TWO-ARG-IOR"
1244              "TWO-ARG-LCM" "TWO-ARG-XOR"
1245              "TYPE-DIFFERENCE" "TYPE-EXPAND"
1246              "TYPE-INTERSECTION" "TYPE-INTERSECTION2"
1247              "TYPE-APPROX-INTERSECTION2"
1248              "TYPE-SPECIFIER" "TYPE-UNION" "TYPE/=" "TYPE="
1249              "TYPES-EQUAL-OR-INTERSECT"
1250              "UNBOUND-SYMBOL-ERROR" "UNBOXED-ARRAY"
1251              "UNDEFINED-FUN-ERROR" "UNION-TYPE" "UNION-TYPE-P"
1252              "UNION-TYPE-TYPES" "UNKNOWN-ERROR"
1253              "UNKNOWN-KEY-ARG-ERROR"
1254              "UNKNOWN-TYPE" "UNKNOWN-TYPE-P"
1255              "UNKNOWN-TYPE-SPECIFIER" "UNSEEN-THROW-TAG-ERROR"
1256              "UNSIGNED-BYTE-32-P"
1257              "VALUE-CELL-REF" "VALUE-CELL-SET"
1258              "VALUES-SPECIFIER-TYPE"
1259              "VALUES-SPECIFIER-TYPE-CACHE-CLEAR" "VALUES-SUBTYPEP"
1260              "VALUES-TYPE"
1261              "VALUES-TYPE-INTERSECTION" "VALUES-TYPE-KEYP"
1262              "VALUES-TYPE-KEYWORDS" "VALUES-TYPE-OPTIONAL"
1263              "VALUES-TYPE-P" "VALUES-TYPE-REQUIRED"
1264              "VALUES-TYPE-REST" "VALUES-TYPE-UNION"
1265              "VALUES-TYPES" "VALUES-TYPES-EQUAL-OR-INTERSECT" "VECTOR-T-P"
1266              "VECTOR-TO-VECTOR*"
1267              "VECTOR-OF-CHECKED-LENGTH-GIVEN-LENGTH"
1268              "WITH-ARRAY-DATA"
1269              "WRONG-NUMBER-OF-INDICES-ERROR"
1270
1271              "FDEFN" "MAKE-FDEFN" "FDEFN-P"
1272              "FDEFN-NAME" "FDEFN-FUN"
1273              "FDEFN-MAKUNBOUND" "OUTER-FDEFN"
1274              "%COERCE-CALLABLE-TO-FUN"
1275              "FUN-SUBTYPE" "*MAXIMUM-ERROR-DEPTH*"
1276              "%SET-SYMBOL-PLIST" "INFINITE-ERROR-PROTECT"
1277              "FIND-CALLER-NAME-AND-FRAME"
1278              "%SET-SYMBOL-VALUE" "%SET-SYMBOL-PACKAGE"
1279              "OUTPUT-SYMBOL-NAME"
1280              "%COERCE-NAME-TO-FUN"
1281              "INVOKE-MACROEXPAND-HOOK"
1282              "DEFAULT-STRUCTURE-PRINT"
1283              "LAYOUT" "LAYOUT-LENGTH"
1284              "LAYOUT-PURE" "DSD-RAW-TYPE"
1285              "DEFSTRUCT-DESCRIPTION" "UNDEFINE-STRUCTURE"
1286              "DD-COPIER" "UNDEFINE-FUN-NAME" "DD-TYPE"
1287              "CLASS-STATE" "INSTANCE"
1288              "*TYPE-SYSTEM-INITIALIZED*" "FIND-LAYOUT"
1289              "DSD-NAME" "%TYPEP" "DD-RAW-INDEX"
1290              "DD-NAME" "CLASS-SUBCLASSES"
1291              "CLASS-LAYOUT" "CLASS-%NAME"
1292              "DD-RAW-LENGTH" "NOTE-NAME-DEFINED"
1293              "%CODE-CODE-SIZE" "DD-SLOTS"
1294              "%IMAGPART" "DSD-ACCESSOR-NAME"
1295              "%CODE-DEBUG-INFO" "DSD-%NAME"
1296              "LAYOUT-CLASS" "LAYOUT-INVALID"
1297              "%SIMPLE-FUN-NAME" "DSD-TYPE" "%INSTANCEP"
1298              "DEFSTRUCT-SLOT-DESCRIPTION" "%SIMPLE-FUN-ARGLIST"
1299              "%SIMPLE-FUN-NEXT" "LAYOUT-CLOS-HASH-LENGTH" "DD-PREDICATE-NAME"
1300              "CLASS-PROPER-NAME" "%NOTE-TYPE-DEFINED" "LAYOUT-INFO"
1301              "%SET-INSTANCE-LAYOUT" "DD-DEFAULT-CONSTRUCTOR"
1302              "LAYOUT-OF" "%SIMPLE-FUN-SELF" "%REALPART"
1303              "STRUCTURE-CLASS-P" "DSD-INDEX"
1304              "%INSTANCE-LAYOUT" "LAYOUT-CLOS-HASH"
1305              "%SIMPLE-FUN-TYPE" "PROCLAIM-AS-FUN-NAME"
1306              "BECOME-DEFINED-FUN-NAME"
1307              "%NUMERATOR" "CLASS-TYPEP"
1308              "DSD-READ-ONLY"
1309              "LAYOUT-INHERITS" "DD-LENGTH" "%CODE-ENTRY-POINTS"
1310              "%DENOMINATOR"
1311              "MAKE-STANDARD-CLASS"
1312              "CLASS-CELL-TYPEP" 
1313              "FIND-CLASS-CELL" "EXTRACT-FUN-TYPE"
1314              "FUNCALLABLE-STRUCTURE-CLASS"
1315              "%RANDOM-DOUBLE-FLOAT"
1316              #!+long-float "%RANDOM-LONG-FLOAT"
1317              "%RANDOM-SINGLE-FLOAT"
1318              "RANDOM-PCL-CLASS" 
1319              "%FUNCALLABLE-INSTANCE-INFO" "RANDOM-CHUNK"
1320              "MAKE-FUNCALLABLE-STRUCTURE-CLASS" "LAYOUT-CLOS-HASH-MAX"
1321              "CLASS-CELL-NAME" "BUILT-IN-CLASS-DIRECT-SUPERCLASSES"
1322              "RANDOM-LAYOUT-CLOS-HASH"
1323              "CLASS-PCL-CLASS" "FUNCALLABLE-STRUCTURE"
1324              "FUNCALLABLE-INSTANCE-FUN"
1325              "%FUNCALLABLE-INSTANCE-LAYOUT"
1326              "BASIC-STRUCTURE-CLASS" 
1327              "CLASS-CELL-CLASS"
1328              "FUNCALLABLE-STRUCTURE-CLASS-P" "REGISTER-LAYOUT"
1329              "FUNCALLABLE-INSTANCE" "RANDOM-FIXNUM-MAX"
1330              "MAKE-RANDOM-PCL-CLASS" "INSTANCE-LAMBDA"
1331              "%FUNCALLABLE-INSTANCE-LEXENV" "%MAKE-SYMBOL"
1332              "%FUNCALLABLE-INSTANCE-FUN" "SYMBOL-HASH"
1333
1334              "MAKE-UNDEFINED-CLASS" "CLASS-DIRECT-SUPERCLASSES" "MAKE-LAYOUT"
1335              "REDEFINE-LAYOUT-WARNING" "SLOT-CLASS"
1336              "INSURED-FIND-CLASS" "ORDER-LAYOUT-INHERITS"
1337              "STD-COMPUTE-CLASS-PRECEDENCE-LIST"
1338
1339              ;; symbols from former SB!CONDITIONS
1340              "*HANDLER-CLUSTERS*" "*RESTART-CLUSTERS*"
1341              "SHOW-CONDITION" "CASE-FAILURE"
1342              "NAMESTRING-PARSE-ERROR" "NAMESTRING-PARSE-ERROR-OFFSET"
1343              "DESCRIBE-CONDITION"
1344
1345              "!COLD-INIT" "!UNINTERN-INIT-ONLY-STUFF"
1346              "!GLOBALDB-COLD-INIT" "!FDEFN-COLD-INIT"
1347              "!TYPE-CLASS-COLD-INIT" "!TYPEDEFS-COLD-INIT"
1348              "!ALIEN-TYPE-COLD-INIT" "!CLASSES-COLD-INIT"
1349              "!EARLY-TYPE-COLD-INIT" "!LATE-TYPE-COLD-INIT"
1350              "!TARGET-TYPE-COLD-INIT" "!RANDOM-COLD-INIT"
1351              "!READER-COLD-INIT" "!TYPECHECKFUNS-COLD-INIT"
1352              "STREAM-COLD-INIT-OR-RESET" "!LOADER-COLD-INIT"
1353              "!EXHAUST-COLD-INIT" 
1354              "!PACKAGE-COLD-INIT" "SIGNAL-COLD-INIT-OR-REINIT"
1355              "!POLICY-COLD-INIT-OR-RESANIFY" "!VM-TYPE-COLD-INIT"
1356              "!BACKQ-COLD-INIT" "!SHARPM-COLD-INIT"
1357              "!CLASS-FINALIZE" "GC-REINIT"
1358
1359              ;; Note: These are out of lexicographical order because in CMU CL
1360              ;; they were defined as internal symbols in package "CL"
1361              ;; imported into package "C", as opposed to what we're
1362              ;; doing here, defining them as external symbols in a package
1363              ;; which is used by both "SB!C" and "SB!IMPL". (SBCL's "SB!C" is
1364              ;; directly analogous to CMU CL's "C"; and for this purpose,
1365              ;; SBCL's "SB!IMPL" is analogous to CMU CL's "CL".) As far
1366              ;; as I know there's nothing special about them, so they could
1367              ;; be merged into the same order as everything else in the
1368              ;; in this package. -- WHN 19990911
1369              "STRING>=*" "STRING>*" "STRING=*"
1370              "STRING<=*" "STRING<*" "STRING/=*"
1371              "%SVSET" "%SP-STRING-COMPARE" "%SETNTH"
1372              "%SETELT" "%SET-ROW-MAJOR-AREF" "%SET-FILL-POINTER"
1373              "%SET-FDEFINITION" "%SCHARSET" "%SBITSET" "%RPLACD"
1374              "%RPLACA" "%PUT" "%CHARSET" "%BITSET" "%ASET"
1375              "%ARRAY-TYPEP" "%SET-SAP-REF-DESCRIPTOR"))
1376
1377  #s(sb-cold:package-data
1378     :name "SB!LOOP"
1379     :doc "private: implementation details of LOOP"
1380     :use ("CL")
1381     :export ())
1382
1383  #s(sb-cold:package-data
1384     :name "SB!PCL"
1385     :doc
1386 "semi-public: This package includes useful meta-object protocol
1387 extensions, but even they are not guaranteed to be present in
1388 later versions of SBCL, and the other stuff in here is
1389 definitely not guaranteed to be present in later versions of SBCL."
1390     ;; FIXME: SB-PCL should probably USE-PACKAGE SB-KERNEL, since SB-PCL
1391     ;; is built on SB-KERNEL, and in the absence of USE-PACKAGE, it ends
1392     ;; up using a thundering herd of explicit prefixes to get to
1393     ;; SB-KERNEL symbols. However, it'll probably be too messy to do
1394     ;; this until the duplicate SB-PCL:CLASS/CL:CLASS hierarchy kludge
1395     ;; is unscrewed, since until it is there are too many things which
1396     ;; conflict between the two packages.
1397     :use ("CL" "SB!INT" "SB!EXT" "SB!WALKER")
1398     :import-from (("SB!KERNEL" "FUNCALLABLE-INSTANCE-P" "%FUN-DOC"
1399                    "PACKAGE-DOC-STRING"
1400                    "PACKAGE-HASHTABLE-SIZE" "PACKAGE-HASHTABLE-FREE"
1401                    "PACKAGE-INTERNAL-SYMBOLS" "PACKAGE-EXTERNAL-SYMBOLS"))
1402     :reexport ("ADD-METHOD" "ALLOCATE-INSTANCE"
1403                "COMPUTE-APPLICABLE-METHODS"
1404                "ENSURE-GENERIC-FUNCTION"
1405                "MAKE-INSTANCE" "METHOD-QUALIFIERS"
1406                "REMOVE-METHOD")
1407     :export ("ADD-DEPENDENT"
1408              "ADD-DIRECT-METHOD"
1409              "ADD-DIRECT-SUBCLASS"
1410              "CLASS-DEFAULT-INITARGS"
1411              "CLASS-DIRECT-DEFAULT-INITARGS"
1412              "CLASS-DIRECT-SLOTS"
1413              "CLASS-DIRECT-SUBCLASSES"
1414              "CLASS-DIRECT-SUPERCLASSES"
1415              "CLASS-FINALIZED-P"
1416              "CLASS-PRECEDENCE-LIST"
1417              "CLASS-PROTOTYPE"
1418              "CLASS-SLOTS"
1419              "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
1420              "COMPUTE-CLASS-PRECEDENCE-LIST"
1421              "COMPUTE-DISCRIMINATING-FUNCTION"
1422              "COMPUTE-EFFECTIVE-METHOD"
1423              "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
1424              "COMPUTE-SLOTS"
1425              "DIRECT-SLOT-DEFINITION-CLASS"
1426              "EFFECTIVE-SLOT-DEFINITION-CLASS"
1427              "ENSURE-CLASS"
1428              "ENSURE-CLASS-USING-CLASS"
1429              "ENSURE-GENERIC-FUNCTION-USING-CLASS"
1430              "EQL-SPECIALIZER-INSTANCE"
1431              "EXTRACT-LAMBDA-LIST"
1432              "EXTRACT-SPECIALIZER-NAMES"
1433              "FINALIZE-INHERITANCE"
1434              "FIND-METHOD-COMBINATION"
1435              "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
1436              "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
1437              "GENERIC-FUNCTION-DECLARATIONS"
1438              "GENERIC-FUNCTION-LAMBDA-LIST"
1439              "GENERIC-FUNCTION-METHOD-CLASS"
1440              "GENERIC-FUNCTION-METHOD-COMBINATION"
1441              "GENERIC-FUNCTION-METHODS"
1442              "GENERIC-FUNCTION-NAME"
1443              "INTERN-EQL-SPECIALIZER"
1444              "MAKE-METHOD-LAMBDA"
1445              "MAP-DEPENDENTS"
1446              "METHOD-FUNCTION"
1447              "METHOD-GENERIC-FUNCTION"
1448              "METHOD-LAMBDA-LIST"
1449              "METHOD-SPECIALIZERS"
1450              "ACCESSOR-METHOD-SLOT-DEFINITION"
1451              "READER-METHOD-CLASS"
1452              "REMOVE-DEPENDENT"
1453              "REMOVE-DIRECT-METHOD"
1454              "REMOVE-DIRECT-SUBCLASS"
1455              "SET-FUNCALLABLE-INSTANCE-FUN"
1456              "SLOT-BOUNDP-USING-CLASS"
1457              "SLOT-DEFINITION-ALLOCATION"
1458              "SLOT-DEFINITION-INITARGS"
1459              "SLOT-DEFINITION-INITFORM"
1460              "SLOT-DEFINITION-INITFUNCTION"
1461              "SLOT-DEFINITION-LOCATION"
1462              "SLOT-DEFINITION-NAME"
1463              "SLOT-DEFINITION-READERS"
1464              "SLOT-DEFINITION-WRITERS"
1465              "SLOT-DEFINITION-TYPE"
1466              "SLOT-MAKUNBOUND-USING-CLASS"
1467              "SLOT-VALUE-USING-CLASS"
1468              "SPECIALIZER-DIRECT-GENERIC-FUNCTION"
1469              "SPECIALIZER-DIRECT-METHODS"
1470              "STANDARD-INSTANCE-ACCESS"
1471              "UPDATE-DEPENDENT"
1472              "VALIDATE-SUPERCLASS"
1473              "WRITER-METHOD-CLASS"))
1474
1475  #s(sb-cold:package-data
1476     :name "SB!PRETTY"
1477     :doc "private: implementation of pretty-printing"
1478     :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
1479     :export ("OUTPUT-PRETTY-OBJECT"
1480              "PRETTY-STREAM" "PRETTY-STREAM-P"
1481              "!PPRINT-COLD-INIT"))
1482
1483  #s(sb-cold:package-data
1484     :name "SB!PROFILE"
1485     :doc "public: the interface to the profiler"
1486     :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
1487     :export ("PROFILE" "REPORT" "RESET" "UNPROFILE"))
1488
1489  #s(sb-cold:package-data
1490     :name "SB!SYS"
1491     :doc
1492 "private: In theory, this \"contains functions and information
1493 necessary for system interfacing\" (said cmu-user.tex at the time
1494 of the SBCL code fork). That probably was and is a good idea, but in
1495 practice, the distinctions between this package and SB-KERNEL
1496 and even SB-VM seem to have become somewhat blurred over the years.
1497 Some anomalies (e.g. FIND-IF-IN-CLOSURE being in SB-SYS instead of
1498 SB-KERNEL) have been undone, but probably more remain."
1499     :use ("CL" "SB!EXT" "SB!INT")
1500     :export ("%ASSEMBLER-CODE-TYPE" "%BIND-ALIGNED-SAP"
1501              ;; FIXME: %PRIMITIVE shouldn't be here. (I now know that %SYS
1502              ;; is for OS-dependent stuff. %PRIMITIVE should probably be in
1503              ;; SB!KERNEL.)
1504              "%PRIMITIVE"
1505              "%STANDARD-CHAR-P"
1506              "*LONG-SITE-NAME*" "*SHORT-SITE-NAME*"
1507              "*STDERR*" "*STDIN*"
1508              "*STDOUT*" "*TASK-DATA*"
1509              "*TASK-NOTIFY*" "*TASK-SELF*" "*TTY*" "*TYPESCRIPTPORT*"
1510              "ADD-FD-HANDLER"
1511              "ALLOCATE-SYSTEM-MEMORY"
1512              "BEEP" "BITS" 
1513              "BYTES" "C-PROCEDURE"
1514              "COMPILER-VERSION"
1515              "DEALLOCATE-SYSTEM-MEMORY"
1516              "DEFAULT-INTERRUPT"
1517              "DEPORT-BOOLEAN" "DEPORT-INTEGER"
1518              "FROB-DO-BODY"
1519              "ENABLE-INTERRUPT" "ENUMERATION"
1520              "FD-STREAM-FD" "FD-STREAM-P" 
1521              "FOREIGN-SYMBOL-ADDRESS" "FOREIGN-SYMBOL-ADDRESS-AS-INTEGER"
1522              "GET-PAGE-SIZE" "GET-SYSTEM-INFO"
1523              "IGNORE-INTERRUPT"
1524              "INT-SAP" "INVALIDATE-DESCRIPTOR" "IO-TIMEOUT"
1525              "MACRO" "MAKE-FD-STREAM" "MAKE-OBJECT-SET" "MEMMOVE"
1526              "NATURALIZE-BOOLEAN" "NATURALIZE-INTEGER"
1527              "OBJECT-SET-OPERATION"
1528              "OS-COLD-INIT-OR-REINIT" "OS-CONTEXT-T" "OUTPUT-RAW-BYTES"
1529              "POINTER" "POINTER<" "POINTER>"
1530              "READ-N-BYTES" "REALLOCATE-SYSTEM-MEMORY" "RECORD-SIZE"
1531              "REMOVE-FD-HANDLER"
1532              "RESOLVE-LOADED-ASSEMBLER-REFERENCES"
1533              "SAP+" "SAP-" "SAP-INT"
1534              "SAP-REF-16" "SAP-REF-32" "SAP-REF-64" "SAP-REF-8"
1535              "SAP-REF-DESCRIPTOR"
1536              "SAP-REF-DOUBLE" "SAP-REF-LONG"
1537              "SAP-REF-SAP" "SAP-REF-SINGLE"
1538              "SAP<" "SAP<=" "SAP=" "SAP>" "SAP>="
1539              "SCRUB-CONTROL-STACK" "SERVE-ALL-EVENTS"
1540              "SERVE-EVENT" "SERVER" "SERVER-MESSAGE"
1541              "SIGNED-SAP-REF-16" "SIGNED-SAP-REF-32"
1542              "SIGNED-SAP-REF-64" "SIGNED-SAP-REF-8"
1543              ;; FIXME: STRUCTURE!OBJECT stuff probably belongs in SB!KERNEL.
1544              "STRUCTURE!OBJECT" "STRUCTURE!OBJECT-MAKE-LOAD-FORM"
1545              "SYSTEM-AREA-POINTER" "SYSTEM-AREA-POINTER-P" "VECTOR-SAP"
1546              "WAIT-UNTIL-FD-USABLE" "WITH-ENABLED-INTERRUPTS"
1547              "WITH-FD-HANDLER"
1548              "WITH-INTERRUPTS" "WITHOUT-GCING"
1549              "WITHOUT-INTERRUPTS" "WORDS"
1550              "ALLOCATE-SYSTEM-MEMORY-AT"
1551              "GET-DYNAMIC-FOREIGN-SYMBOL-ADDRESS"))
1552
1553  #s(sb-cold:package-data
1554     :name "SB!UNIX"
1555     :doc
1556 "private: a wrapper layer for SBCL itself to use when talking
1557 with an underlying Unix-y operating system.
1558 This was a public package in CMU CL, but that was different.
1559 CMU CL's UNIX package tried to provide a comprehensive,
1560 stable Unix interface suitable for the end user.
1561 This package only tries to implement what happens to be
1562 needed by the current implementation of SBCL, and makes
1563 no guarantees of interface stability."
1564     :use ("CL" "SB!ALIEN" "SB!EXT" "SB!INT" "SB!SYS")
1565     :export (;; wrappers around Unix stuff to give just what Lisp needs
1566              "UID-USERNAME" "UID-HOMEDIR"
1567
1568              ;; stuff with a one-to-one mapping to Unix constructs
1569              "D-INO" "D-NAME" "D-NAMLEN" "D-OFF" "D-RECLEN"
1570              "DEV-T" "DIRECT" "EXECGRP" "EXECOTH" "EXECOWN" "F-DUPFD"
1571              "F-GETFD" "F-GETFL" "F-GETOWN" "F-SETFD" "F-SETFL" "F-SETOWN"
1572              "FAPPEND" "FASYNC" "FCREAT" "FEXCL" "FIONREAD" "FNDELAY" "FTRUNC"
1573              "F_OK" "GID-T"
1574              "INO-T" "UNIX-SETITIMER" "UNIX-GETITIMER"
1575              "KBDCGET" "KBDCRESET" "KBDCRST" "KBDCSET"
1576              "KBDCSSTD" "KBDGCLICK" "KBDSCLICK" "KBDSGET" "L_INCR" "L_SET"
1577              "L_XTND" "OFF-T" "O_APPEND" "O_CREAT" "O_EXCL" "O_RDONLY" "O_RDWR"
1578              "O_TRUNC" "O_WRONLY" "POSIX-GETCWD" "POSIX-GETCWD/"
1579              "READGRP" "READOTH" "READOWN" "RLIM-CUR"
1580              "RLIM-MAX" "RU-IDRSS" "RU-INBLOCK" "RU-ISRSS" "RU-IXRSS"
1581              "RU-MAJFLT" "RU-MAXRSS" "RU-MINFLT" "RU-MSGRCV" "RU-MSGSND"
1582              "RU-NIVCSW" "RU-NSIGNALS" "RU-NSWAP" "RU-NVCSW" "RU-OUBLOCK"
1583              "RU-STIME" "RU-UTIME" "RUSAGE_CHILDREN" "RUSAGE_SELF" "RUSEAGE"
1584              "R_OK" "S-IEXEC" "S-IFBLK" "S-IFCHR" "S-IFDIR" "S-IFLNK" "S-IFMT"
1585              "S-IFREG" "S-IFSOCK" "S-IREAD" "S-ISGID" "S-ISUID" "S-ISVTX"
1586              "S-IWRITE" "SAVETEXT" "SC-MASK" "SC-ONSTACK" "SC-PC" "SETGIDEXEC"
1587              "SETUIDEXEC" "SG-ERASE" "SG-FLAGS" "SG-ISPEED" "SG-KILL"
1588              "SG-OSPEED" "SGTTYB" "SIZE-T" "ST-ATIME" "ST-BLKSIZE"
1589              "ST-BLOCKS" "ST-CTIME" "ST-DEV" "ST-GID" "ST-MODE" "ST-MTIME"
1590              "ST-NLINK" "ST-RDEV" "ST-SIZE" "ST-UID" "STAT" 
1591              "TERMINAL-SPEEDS" "TIME-T" "TIMEVAL" "TIMEZONE" "TIOCFLUSH"
1592              "TIOCGETC" "TIOCGETP" "TIOCGLTC" "TIOCGPGRP" "TIOCGWINSZ"
1593              "TIOCNOTTY" "TIOCSETC" "TIOCSETP" "TIOCSLTC" "TIOCSPGRP"
1594              "TIOCSWINSZ" "TV-SEC" "TV-USEC" "TZ-DSTTIME"
1595              "TZ-MINUTESWEST" "UID-T" "UNIX-ACCEPT" "UNIX-ACCESS" "UNIX-BIND"
1596              "UNIX-CHMOD" "UNIX-CHOWN" "UNIX-CLOSE" "UNIX-CONNECT"
1597              "UNIX-CREAT" "UNIX-DUP" "UNIX-DUP2"
1598              "UNIX-EXECVE" "UNIX-EXIT" "UNIX-FCHMOD" "UNIX-FCHOWN"
1599              "UNIX-FCNTL" "UNIX-FD" "UNIX-FILE-MODE" "UNIX-FORK" "UNIX-FSTAT"
1600              "UNIX-FSYNC" "UNIX-FTRUNCATE" "UNIX-GETDTABLESIZE" "UNIX-GETEGID"
1601              "UNIX-GETGID" "UNIX-GETHOSTNAME"
1602              "UNIX-GETPAGESIZE"  "UNIX-GETPEERNAME" "UNIX-GETPGRP"
1603              "UNIX-GETPID" "UNIX-GETPPID" "UNIX-GETRUSAGE"
1604              "UNIX-GETSOCKNAME" "UNIX-GETTIMEOFDAY" "UNIX-GETUID" "UNIX-GID"
1605              "UNIX-IOCTL" "UNIX-ISATTY" "UNIX-LINK" "UNIX-LISTEN" "UNIX-LSEEK"
1606              "UNIX-LSTAT" "UNIX-MKDIR" "UNIX-OPEN" "UNIX-PATHNAME" "UNIX-PID"
1607              "UNIX-PIPE" "UNIX-READ" "UNIX-READLINK" "UNIX-RECV" "UNIX-RENAME"
1608              "UNIX-RMDIR" "UNIX-SELECT" "UNIX-SEND" "UNIX-SETPGRP"
1609              "UNIX-SOCKET" "UNIX-STAT" "UNIX-SYMLINK" "UNIX-SYNC"
1610              "UNIX-TRUNCATE" "UNIX-TTYNAME"
1611              "UNIX-UID" "UNIX-UNLINK" "UNIX-UTIMES" "UNIX-WRITE" "WINSIZE"
1612              "WRITEGRP" "WRITEOTH" "WRITEOWN" "WS-COL" "WS-ROW" "WS-XPIXEL"
1613              "WS-YPIXEL"
1614              "WNOHANG" "WSTOPPED" "WUNTRACED"
1615              "W_OK" "X_OK" "SIGSYS" "TCSETPGRP" "FD-ZERO"
1616              "SIGQUIT" "SIGCHLD" "SIGSEGV" "FD-CLR" "SIGUSR2"
1617              "EALREADY" "SIGPIPE" "CHECK" "SIGXCPU" "EOPNOTSUPP"
1618              "SIGFPE" "SIGHUP" "ENOTSOCK" "EINTR"
1619              "SIGCONT" "UNIX-RESOLVE-LINKS" "SIGKILL" "EMSGSIZE" "ERANGE"
1620              "EPROTOTYPE" "UNIX-SIGNAL-NUMBER" "EPFNOSUPPORT" "SIGILL"
1621              "EDOM" "EDQUOT" "FD-SETSIZE" "SIGTSTP"
1622              "EAFNOSUPPORT" "TCGETPGRP" "EMFILE" "ECONNRESET"
1623              "EADDRNOTAVAIL" "SIGALRM" "ENETDOWN" "EVICEOP"
1624              "UNIX-FAST-GETRUSAGE" "EPERM" "SIGINT" "EXDEV" "EDEADLK"
1625              "ENOSPC" "ECONNREFUSED" "SIGWINCH" "ENOPROTOOPT" "ESRCH"
1626              "EUSERS" "SIGVTALRM" "ENOTCONN" "ESUCCESS" "EPIPE"
1627              "UNIX-SIMPLIFY-PATHNAME" "EISCONN" "FD-ISSET"
1628              "ESHUTDOWN" "EBUSY" "SIGTERM" "ENAMETOOLONG" "EMLINK"
1629              "EADDRINUSE" "SIGBUS" "ERESTART" 
1630              "UNIX-SIGNAL-NAME" "ETIMEDOUT" "ECHILD" "EFBIG" "SIGTRAP"
1631              "UNIX-KILLPG" "ENOTBLK" "SIGIOT" "SIGUSR1" "ECONNABORTED"
1632              "EHOSTUNREACH" "EBADF" "EINVAL" "FD-SET" "EISDIR"
1633              "SIGTTIN" "UNIX-KILL" "EHOSTDOWN" "E2BIG" "ESPIPE"
1634              "UNIX-FAST-SELECT" "ENXIO" "ENOTTY" "ELOOP" "LTCHARS"
1635              "SIGXFSZ" "EINPROGRESS" "ENOENT"
1636              "EPROTONOSUPPORT" "SIGIO" "ENOMEM" "SIGEMT"
1637              "EFAULT" "ENODEV" "EIO" "EVICEERR" "ETXTBSY" "EWOULDBLOCK"
1638              "EAGAIN" "EDESTADDRREQ" "ENOEXEC" "ENETUNREACH" "ENOTEMPTY"
1639              "ENFILE"
1640              "SIGTTOU" "EEXIST" "SIGPROF" "SIGSTOP" "ENETRESET" "SIGURG"
1641              "ENOBUFS" "EPROCLIM" "EROFS" "ETOOMANYREFS" "UNIX-FILE-KIND"
1642              "ELOCAL" "UNIX-SIGSETMASK" "EREMOTE" "ESOCKTNOSUPPORT"
1643              "TIOCSIGSEND" "SIGWAITING"
1644              "C-IFLAG" "UNIX-TCGETATTR" "C-LFLAG" "C-OFLAG"
1645              "C-CFLAG" "TCSAFLUSH" "C-CC" "SIOCSPGRP" "TERMIOS"
1646              "UNIX-TCSETATTR" "O_NDELAY" "O_NOCTTY"
1647              "O_NONBLOCK" "TCSANOW" "TCSADRAIN" "TCIFLUSH" "TCOFLUSH"
1648              "TCIOFLUSH" "UNIX-CFGETOSPEED" "UNIX-CFSETOSPEED"
1649              "UNIX-CFGETISPEED" "UNIX-CFSETISPEED"
1650              "TTY-IGNBRK" "TTY-BRKINT" "TTY-IGNPAR" "TTY-PARMRK"
1651              "TTY-INPCK" "TTY-ISTRIP" "TTY-INLCR" "TTY-IGNCR" "TTY-ICRNL"
1652              "TTY-IUCLC" "TTY-IXON" "TTY-IXANY" "TTY-IXOFF" "TTY-IENQAK"
1653              "TTY-IMAXBEL" "TTY-OPOST" "TTY-OLCUC" "TTY-ONLCR" "TTY-OCRNL"
1654              "TTY-ONOCR" "TTY-ONLRET" "TTY-OFILL" "TTY-OFDEL" "TTY-ISIG"
1655              "TTY-ICANON" "TTY-XCASE" "TTY-ECHO" "TTY-ECHOE" "TTY-ECHOK"
1656              "TTY-ECHONL" "TTY-NOFLSH" "TTY-IEXTEN" "TTY-TOSTOP" "TTY-ECHOCTL"
1657              "TTY-ECHOPRT" "TTY-ECHOKE"  "TTY-DEFECHO" "TTY-FLUSHO"
1658              "TTY-PENDIN" "TTY-CSTOPB" "TTY-CREAD" "TTY-PARENB" "TTY-PARODD"
1659              "TTY-HUPCL" "TTY-CLOCAL" "RCV1EN" "XMT1EN" "TTY-LOBLK" "VINTR"
1660              "VQUIT" "VERASE" "VKILL" "VEOF" "VEOL" "VEOL2" "TTY-CBAUD"
1661              "TTY-CSIZE" "TTY-CS5" "TTY-CS6" "TTY-CS7" "TTY-CS8" "VMIN" "VTIME"
1662              "VSUSP" "VSTART" "VSTOP" "VDSUSP" "UNIX-TCSENDBREAK"
1663              "UNIX-TCDRAIN" "UNIX-TCFLUSH" "UNIX-TCFLOW"
1664              #!+(or svr4 bsd linux) "O_NDELAY"
1665              #!+(or svr4 linux) ("EADDRINUSE" "EADDRNOTAVAIL" "EADV"
1666                                  "EAFNOSUPPORT" "EALREADY" "EBADE" "EBADFD"
1667                                  "EBADMSG" "EBADR" "EBADRQC"
1668                                  "EBADSLT" "EBFONT" #!+svr4 "ECANCELED"
1669                                  "ECHRNG" "ECOMM" "ECONNABORTED"
1670                                  "ECONNREFUSED" "ECONNRESET" "EDEADLK"
1671                                  "EDEADLOCK" "EDESTADDRREQ" #!+linux "EDOTDOT"
1672                                  #!+linux "EDQUOT" "EHOSTDOWN" "EHOSTUNREACH"
1673                                  "EIDRM" "EILSEQ" "EINPROGRESS"
1674                                  "EISCONN" #!+linux "EISNAM" "EL2HLT"
1675                                  "EL2NSYNC" "EL3HLT" "EL3RST" "ELIBACC"
1676                                  "ELIBBAD" "ELIBEXEC" "ELIBMAX" "ELIBSCN"
1677                                  "ELNRNG" "ELOOP" "EMSGSIZE" "EMULTIHOP"
1678                                  "ENAMETOOLONG" #!+linux "ENAVAIL"
1679                                  "ENETDOWN" "ENETRESET" "ENETUNREACH" "ENOANO"
1680                                  "ENOBUFS" "ENOCSI" "ENODATA" "ENOLCK"
1681                                  "ENOLINK" "ENOMSG" "ENONET" "ENOPKG"
1682                                  "ENOPROTOOPT" "ENOSR" "ENOSTR" "ENOSYS"
1683                                  "ENOTCONN" "ENOTEMPTY" #!+linux "ENOTNAM"
1684                                  "ENOTSOCK" #!+svr4 "ENOTSUP" "ENOTUNIQ"
1685                                  "EOPNOTSUPP" "EOVERFLOW" "EPFNOSUPPORT"
1686                                  "EPROTO" "EPROTONOSUPPORT" "EPROTOTYPE"
1687                                  "EREMCHG" "EREMOTE" #!+linux "EREMOTEIO"
1688                                  "ERESTART" "ESHUTDOWN" "ESOCKTNOSUPPORT"
1689                                  "ESRMNT" "ESTALE" "ESTRPIPE" "ETIME"
1690                                  "ETIMEDOUT" "ETOOMANYREFS" #!+linux "EUCLEAN"
1691                                  "EUNATCH" "EUSERS" "EWOULDBLOCK" "EXFULL")))
1692
1693  #s(sb-cold:package-data
1694     :name "SB!VM"
1695     :doc
1696 "internal: the default place to hide information about the hardware and data
1697 structure representations"
1698     :use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!ASSEM" "SB!C"
1699           "SB!EXT" "SB!FASL" "SB!INT" "SB!KERNEL" "SB!SYS" "SB!UNIX")
1700     :export ("*ASSEMBLY-UNIT-LENGTH*" "*PRIMITIVE-OBJECTS*"
1701              "AFTER-BREAKPOINT-TRAP"
1702              "ANY-REG-SC-NUMBER" "ARRAY-DATA-SLOT" "ARRAY-DIMENSIONS-OFFSET"
1703              "ARRAY-DISPLACED-P-SLOT" "ARRAY-DISPLACEMENT-SLOT"
1704              "ARRAY-ELEMENTS-SLOT" "ARRAY-FILL-POINTER-P-SLOT"
1705              "ARRAY-FILL-POINTER-SLOT" "ATOMIC-FLAG" "BASE-CHAR-REG-SC-NUMBER"
1706              "BASE-CHAR-STACK-SC-NUMBER" "BASE-CHAR-WIDETAG"
1707              "BIGNUM-DIGITS-OFFSET" "BIGNUM-WIDETAG" "BINDING-SIZE"
1708              "BINDING-SYMBOL-SLOT" "BINDING-VALUE-SLOT" "BREAKPOINT-TRAP"
1709              "N-BYTE-BITS" "BYTE-REG-SC-NUMBER"
1710              "CATCH-BLOCK-CURRENT-CODE-SLOT"
1711              "CATCH-BLOCK-CURRENT-CONT-SLOT" "CATCH-BLOCK-CURRENT-UWP-SLOT"
1712              "CATCH-BLOCK-ENTRY-PC-SLOT" "CATCH-BLOCK-PREVIOUS-CATCH-SLOT"
1713              "CATCH-BLOCK-SC-NUMBER" "CATCH-BLOCK-SIZE" "CATCH-BLOCK-SIZE-SLOT"
1714              "CATCH-BLOCK-TAG-SLOT" "CERROR-TRAP"
1715              "CLOSURE-FUN-HEADER-WIDETAG" "CLOSURE-FUN-SLOT"
1716              "CLOSURE-HEADER-WIDETAG" "CLOSURE-INFO-OFFSET"
1717              "CODE-CODE-SIZE-SLOT" "CODE-CONSTANTS-OFFSET"
1718              "CODE-DEBUG-INFO-SLOT" "CODE-ENTRY-POINTS-SLOT"
1719              "CODE-HEADER-WIDETAG"
1720              "CODE-TRACE-TABLE-OFFSET-SLOT" "COMPLEX-ARRAY-WIDETAG"
1721              "COMPLEX-BIT-VECTOR-WIDETAG" "COMPLEX-DOUBLE-FLOAT-FILLER-SLOT"
1722              "COMPLEX-DOUBLE-FLOAT-IMAG-SLOT" "COMPLEX-DOUBLE-FLOAT-REAL-SLOT"
1723              "COMPLEX-DOUBLE-FLOAT-SIZE" "COMPLEX-DOUBLE-FLOAT-WIDETAG"
1724              "COMPLEX-DOUBLE-REG-SC-NUMBER" "COMPLEX-DOUBLE-STACK-SC-NUMBER"
1725              "COMPLEX-IMAG-SLOT" "COMPLEX-REAL-SLOT"
1726              #!+long-float "COMPLEX-LONG-FLOAT-IMAG-SLOT"
1727              #!+long-float "COMPLEX-LONG-FLOAT-REAL-SLOT"
1728              #!+long-float "COMPLEX-LONG-FLOAT-SIZE"
1729              #!+long-float "COMPLEX-LONG-FLOAT-WIDETAG"
1730              #!+long-float "COMPLEX-LONG-REG-SC-NUMBER"
1731              #!+long-float "COMPLEX-LONG-STACK-SC-NUMBER"
1732              "COMPLEX-SINGLE-FLOAT-IMAG-SLOT" "COMPLEX-SINGLE-FLOAT-REAL-SLOT"
1733              "COMPLEX-SINGLE-FLOAT-SIZE" "COMPLEX-SINGLE-FLOAT-WIDETAG"
1734              "COMPLEX-SINGLE-REG-SC-NUMBER" "COMPLEX-SINGLE-STACK-SC-NUMBER"
1735              "COMPLEX-SIZE" "COMPLEX-STRING-WIDETAG" "COMPLEX-WIDETAG"
1736              "COMPLEX-VECTOR-WIDETAG" "CONS-CAR-SLOT" "CONS-CDR-SLOT"
1737              "CONS-SIZE" "CONSTANT-SC-NUMBER"
1738              "CONTEXT-FLOATING-POINT-MODES" "CONTEXT-FLOAT-REGISTER"
1739              "CONTEXT-PC" "CONTEXT-REGISTER"
1740              "CONTROL-STACK-SC-NUMBER" "COUNT-NO-OPS"
1741              "*CURRENT-CATCH-BLOCK*"
1742              "CURRENT-DYNAMIC-SPACE-START"
1743              "CURRENT-FLOAT-TRAP" "DEFINE-FOR-EACH-PRIMITIVE-OBJECT"
1744              "DESCRIPTOR-REG-SC-NUMBER" "DESCRIPTOR-VS-NON-DESCRIPTOR-STORAGE"
1745              "DOUBLE-FLOAT-EXPONENT-BYTE" "DOUBLE-FLOAT-BIAS"
1746              "DOUBLE-FLOAT-DIGITS" "DOUBLE-FLOAT-EXPONENT-BYTE"
1747              "DOUBLE-FLOAT-FILLER-SLOT" "DOUBLE-FLOAT-HIDDEN-BIT"
1748              "DOUBLE-FLOAT-NORMAL-EXPONENT-MAX"
1749              "DOUBLE-FLOAT-NORMAL-EXPONENT-MIN" "DOUBLE-FLOAT-SIGNIFICAND-BYTE"
1750              "DOUBLE-FLOAT-SIZE" "DOUBLE-FLOAT-TRAPPING-NAN-BIT"
1751              "DOUBLE-FLOAT-WIDETAG" "DOUBLE-FLOAT-VALUE-SLOT"
1752              "DOUBLE-INT-CARG-REG-SC-NUMBER" "DOUBLE-REG-SC-NUMBER"
1753              "DOUBLE-STACK-SC-NUMBER"
1754              "ERROR-TRAP" "EVEN-FIXNUM-LOWTAG"
1755              "EXPORTED-STATIC-SYMBOLS" "EXTERN-ALIEN-NAME"
1756              "FDEFN-FUN-SLOT" "FDEFN-NAME-SLOT" "FDEFN-RAW-ADDR-SLOT"
1757              "FDEFN-SIZE" "FDEFN-WIDETAG" "FIND-HOLES" "FIXNUMIZE"
1758              "FIXUP-CODE-OBJECT" "FLOAT-DENORMAL-TRAP-BIT"
1759              "FLOAT-DIVIDE-BY-ZERO-TRAP-BIT"
1760              "FLOAT-IMPRECISE-TRAP-BIT" "FLOAT-INVALID-TRAP-BIT"
1761              "FLOAT-OVERFLOW-TRAP-BIT" "FLOAT-SIGN-SHIFT"
1762              "FLOAT-UNDERFLOW-TRAP-BIT" "FLOATING-POINT-MODES"
1763              "FORWARDING-POINTER-TYPE"
1764              "FP-CONSTANT-SC-NUMBER"
1765              "FP-DOUBLE-ZERO-SC-NUMBER" "FP-SINGLE-ZERO-SC-NUMBER"
1766              "FUNCALLABLE-INSTANCE-FUN-SLOT"
1767              "FUNCALLABLE-INSTANCE-HEADER-WIDETAG"
1768              "FUNCALLABLE-INSTANCE-INFO-OFFSET"
1769              "SIMPLE-FUN-ARGLIST-SLOT" "SIMPLE-FUN-CODE-OFFSET"
1770              "FUN-END-BREAKPOINT-TRAP"
1771              "SIMPLE-FUN-HEADER-CODE-OFFSET"
1772              "SIMPLE-FUN-HEADER-NEXT-SLOT"
1773              "SIMPLE-FUN-HEADER-SELF-SLOT"
1774              "SIMPLE-FUN-HEADER-WIDETAG"
1775              "SIMPLE-FUN-HEADER-TYPE-SLOT"
1776              "SIMPLE-FUN-NAME-SLOT"
1777              "SIMPLE-FUN-NEXT-SLOT"
1778              "FUN-POINTER-LOWTAG"
1779              "SIMPLE-FUN-SELF-SLOT"
1780              "SIMPLE-FUN-TYPE-SLOT"
1781              "FUNCALLABLE-INSTANCE-LAYOUT-SLOT"
1782              "FUNCALLABLE-INSTANCE-LEXENV-SLOT"
1783              "GENESIS" "HALT-TRAP" "IGNORE-ME-SC-NUMBER"
1784              "IMMEDIATE-BASE-CHAR-SC-NUMBER" "IMMEDIATE-SAP-SC-NUMBER"
1785              "IMMEDIATE-SC-NUMBER" "*INITIAL-DYNAMIC-SPACE-FREE-POINTER*"
1786              "INSTANCE-HEADER-WIDETAG" "INSTANCE-POINTER-LOWTAG"
1787              "INSTANCE-SLOTS-OFFSET" "INSTANCE-USAGE"
1788              "INTERIOR-REG-SC-NUMBER" "INTERNAL-ERROR-ARGS"
1789              "INTERRUPTED-FLAG" "LIST-ALLOCATED-OBJECTS" "LIST-POINTER-LOWTAG"
1790              ;; FIXME: Possibly these other parameters (see
1791              ;; compiler/{x86,sparc}/parms.lisp) should be defined
1792              ;; conditionally on #!+LONG-FLOAT)
1793              "LONG-FLOAT-BIAS" "LONG-FLOAT-DIGITS" "LONG-FLOAT-EXPONENT-BYTE"
1794              "LONG-FLOAT-HIDDEN-BIT" "LONG-FLOAT-NORMAL-EXPONENT-MAX"
1795              "LONG-FLOAT-NORMAL-EXPONENT-MIN" "LONG-FLOAT-SIGNIFICAND-BYTE"
1796              #!+long-float "LONG-FLOAT-SIZE"
1797              "LONG-FLOAT-TRAPPING-NAN-BIT"
1798              #!+long-float "LONG-FLOAT-WIDETAG"
1799              #!+long-float "LONG-FLOAT-VALUE-SLOT"
1800              #!+long-float "LONG-REG-SC-NUMBER"
1801              #!+long-float "LONG-STACK-SC-NUMBER"
1802              "LOWTAG-LIMIT" "LOWTAG-MASK"
1803              "LRA-SAVE-OFFSET"
1804              "MEMORY-USAGE" "MOST-POSITIVE-COST"
1805              "N-LOWTAG-BITS" 
1806              "NEGATIVE-IMMEDIATE-SC-NUMBER"
1807              "NFP-SAVE-OFFSET"
1808              "NON-DESCRIPTOR-REG-SC-NUMBER"
1809              "NULL-SC-NUMBER"
1810              "OBJECT-NOT-LIST-TRAP" "OBJECT-NOT-INSTANCE-TRAP"
1811              "OCFP-SAVE-OFFSET"
1812              "ODD-FIXNUM-LOWTAG"
1813              "OFFSET-STATIC-SYMBOL" "OTHER-IMMEDIATE-0-LOWTAG"
1814              "OTHER-IMMEDIATE-1-LOWTAG" "OTHER-POINTER-LOWTAG"
1815              "PAD-DATA-BLOCK" "PENDING-INTERRUPT-TRAP"
1816              "PRIMITIVE-OBJECT" "PRIMITIVE-OBJECT-WIDETAG"
1817              "PRIMITIVE-OBJECT-LOWTAG" "PRIMITIVE-OBJECT-NAME"
1818              "PRIMITIVE-OBJECT-OPTIONS" "PRIMITIVE-OBJECT-P"
1819              "PRIMITIVE-OBJECT-SIZE" "PRIMITIVE-OBJECT-SLOTS"
1820              "PRIMITIVE-OBJECT-VARIABLE-LENGTH-P" "PRINT-ALLOCATED-OBJECTS"
1821              "RANDOM-IMMEDIATE-SC-NUMBER" "RATIO-DENOMINATOR-SLOT"
1822              "RATIO-NUMERATOR-SLOT" "RATIO-SIZE" "RATIO-WIDETAG"
1823              "*READ-ONLY-SPACE-FREE-POINTER*"
1824              "REGISTER-SAVE-PENALTY" "RETURN-PC-HEADER-WIDETAG"
1825              "RETURN-PC-RETURN-POINT-OFFSET" "RETURN-PC-SAVE-OFFSET"
1826              "SANCTIFY-FOR-EXECUTION"
1827              "SAP-POINTER-SLOT" "SAP-REG-SC-NUMBER" "SAP-SIZE"
1828              "SAP-STACK-SC-NUMBER" "SAP-WIDETAG"
1829              "SIGFPE-HANDLER" "SIGNED-REG-SC-NUMBER" "SIGNED-STACK-SC-NUMBER"
1830              "SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-WIDETAG"
1831              #!+long-float "SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-WIDETAG"
1832              "SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-WIDETAG"
1833              "SIMPLE-ARRAY-DOUBLE-FLOAT-WIDETAG"
1834              #!+long-float "SIMPLE-ARRAY-LONG-FLOAT-WIDETAG"
1835              "SIMPLE-ARRAY-SINGLE-FLOAT-WIDETAG"
1836              "SIMPLE-ARRAY-WIDETAG" "SIMPLE-ARRAY-UNSIGNED-BYTE-16-WIDETAG"
1837              "SIMPLE-ARRAY-UNSIGNED-BYTE-2-WIDETAG"
1838              "SIMPLE-ARRAY-UNSIGNED-BYTE-32-WIDETAG"
1839              "SIMPLE-ARRAY-UNSIGNED-BYTE-4-WIDETAG"
1840              "SIMPLE-ARRAY-UNSIGNED-BYTE-8-WIDETAG"
1841              "SIMPLE-ARRAY-SIGNED-BYTE-16-WIDETAG"
1842              "SIMPLE-ARRAY-SIGNED-BYTE-30-WIDETAG"
1843              "SIMPLE-ARRAY-SIGNED-BYTE-32-WIDETAG"
1844              "SIMPLE-ARRAY-SIGNED-BYTE-8-WIDETAG"
1845              "SIMPLE-BIT-VECTOR-WIDETAG"
1846              "SIMPLE-STRING-WIDETAG"
1847              "SIMPLE-VECTOR-WIDETAG" "SINGLE-FLOAT-BIAS"
1848              "SINGLE-FLOAT-DIGITS" "SINGLE-FLOAT-EXPONENT-BYTE"
1849              "SINGLE-FLOAT-HIDDEN-BIT" "SINGLE-FLOAT-NORMAL-EXPONENT-MAX"
1850              "SINGLE-FLOAT-NORMAL-EXPONENT-MIN" "SINGLE-FLOAT-SIGNIFICAND-BYTE"
1851              "SINGLE-FLOAT-SIZE" "SINGLE-FLOAT-TRAPPING-NAN-BIT"
1852              "SINGLE-FLOAT-WIDETAG" "SINGLE-FLOAT-VALUE-SLOT"
1853              "SINGLE-INT-CARG-REG-SC-NUMBER"
1854              "SINGLE-REG-SC-NUMBER" "SINGLE-STACK-SC-NUMBER"
1855              "SINGLE-STEP-BREAKPOINT-TRAP"
1856              "SINGLE-VALUE-RETURN-BYTE-OFFSET" "SLOT-DOCS"
1857              "SLOT-LENGTH" "SLOT-NAME" "SLOT-OFFSET" "SLOT-OPTIONS"
1858              "SLOT-REST-P" "*STATIC-FUNS*" "STATIC-FUN-OFFSET"
1859              "STATIC-SYMBOL-OFFSET" "STATIC-SYMBOL-P"
1860              "*STATIC-SPACE-FREE-POINTER*" "*STATIC-SYMBOLS*"
1861              "STRUCTURE-USAGE"
1862              "SYMBOL-HASH-SLOT" "SYMBOL-HEADER-WIDETAG" "SYMBOL-NAME-SLOT"
1863              "SYMBOL-PACKAGE-SLOT" "SYMBOL-PLIST-SLOT"
1864              "SYMBOL-SIZE" "SYMBOL-UNUSED-SLOT" "SYMBOL-VALUE-SLOT"
1865              "BINDING-STACK-START" "BINDING-STACK-END" 
1866              "CONTROL-STACK-START" "CONTROL-STACK-END"
1867              "DYNAMIC-SPACE-START" "DYNAMIC-SPACE-END"
1868              #!+c-stack-is-control-stack "ALTERNATE-SIGNAL-STACK-START"
1869              #!-gencgc "DYNAMIC-0-SPACE-START" 
1870              #!-gencgc "DYNAMIC-0-SPACE-END" 
1871              #!-gencgc "DYNAMIC-1-SPACE-START" 
1872              #!-gencgc "DYNAMIC-1-SPACE-END" 
1873              "READ-ONLY-SPACE-START" "READ-ONLY-SPACE-END"
1874              "TARGET-BYTE-ORDER" "TARGET-HEAP-ADDRESS-SPACE"
1875              "STATIC-SPACE-START" "STATIC-SPACE-END"
1876              "TRACE-TABLE-CALL-SITE"
1877              "TRACE-TABLE-FUN-EPILOGUE" "TRACE-TABLE-FUN-PROLOGUE"
1878              "TRACE-TABLE-NORMAL" "N-WIDETAG-BITS" "WIDETAG-MASK"
1879              "UNBOUND-MARKER-WIDETAG"
1880              "UNSIGNED-IMMEDIATE-SC-NUMBER"
1881              "UNSIGNED-REG-SC-NUMBER" "UNSIGNED-STACK-SC-NUMBER"
1882              "UNWIND-BLOCK-CURRENT-CODE-SLOT" "UNWIND-BLOCK-CURRENT-CONT-SLOT"
1883              "UNWIND-BLOCK-CURRENT-UWP-SLOT" "UNWIND-BLOCK-ENTRY-PC-SLOT"
1884              "UNWIND-BLOCK-SIZE" "VALUE-CELL-HEADER-WIDETAG" "VALUE-CELL-SIZE"
1885              "VALUE-CELL-VALUE-SLOT" "VECTOR-DATA-OFFSET" "VECTOR-LENGTH-SLOT"
1886              "VECTOR-MUST-REHASH-SUBTYPE" "VECTOR-NORMAL-SUBTYPE"
1887              "VECTOR-VALID-HASHING-SUBTYPE"
1888              "WEAK-POINTER-BROKEN-SLOT" "WEAK-POINTER-NEXT-SLOT"
1889              "WEAK-POINTER-SIZE" "WEAK-POINTER-WIDETAG"
1890              "WEAK-POINTER-VALUE-SLOT"
1891              "WORD" "N-WORD-BITS" "N-WORD-BYTES"
1892              "WORD-REG-SC-NUMBER" "WORD-SHIFT"
1893              "ZERO-SC-NUMBER"))
1894
1895  #s(sb-cold:package-data
1896     :name "SB!WALKER"
1897     :doc "internal: a code walker used by PCL"
1898     :use ("CL" "SB!INT" "SB!EXT")
1899     :export ("DEFINE-WALKER-TEMPLATE" "WALK-FORM"
1900              "*WALK-FORM-EXPAND-MACROS-P*" 
1901              "VAR-LEXICAL-P" "VAR-SPECIAL-P"
1902              "VAR-GLOBALLY-SPECIAL-P"
1903              "*VAR-DECLARATIONS*" "VAR-DECLARATION"
1904
1905              ;; These were exported from the original PCL version of this 
1906              ;; package, but aren't used in SBCL.
1907              ;;"NESTED-WALK-FORM" "MACROEXPAND-ALL"
1908              )))