/[cmucl]/src/pcl/pkg.lisp
ViewVC logotype

Contents of /src/pcl/pkg.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.11 - (show annotations)
Tue Jan 20 12:43:19 1998 UTC (16 years, 3 months ago) by pw
Branch: MAIN
Changes since 1.10: +280 -329 lines
Rewrite the package file to use defpackage. Clean out conditionals
for ancient architectures. Add a CLOS-MOP package definition
(nicknamed MOP) that exports those PCL symbols that are defined
in AMOP. MOP shadows a few Lisp symbols like find-class that need
to work on PCL class objects.
1 ;;;-*-Mode:LISP; Package:(PCL (LISP WALKER)); Base:10; Syntax:Common-lisp -*-
2 ;;;
3 ;;; *************************************************************************
4 ;;; Copyright (c) 1985, 1986, 1987, 1988, 1989, 1990 Xerox Corporation.
5 ;;; All rights reserved.
6 ;;;
7 ;;; Use and copying of this software and preparation of derivative works
8 ;;; based upon this software are permitted. Any distribution of this
9 ;;; software or derivative works must comply with all applicable United
10 ;;; States export control laws.
11 ;;;
12 ;;; This software is made available AS IS, and Xerox Corporation makes no
13 ;;; warranty about the software, its performance or its conformity to any
14 ;;; specification.
15 ;;;
16 ;;; Any person obtaining a copy of this software is requested to send their
17 ;;; name and post office or electronic mail address to:
18 ;;; CommonLoops Coordinator
19 ;;; Xerox PARC
20 ;;; 3333 Coyote Hill Rd.
21 ;;; Palo Alto, CA 94304
22 ;;; (or send Arpanet mail to CommonLoops-Coordinator.pa@Xerox.arpa)
23 ;;;
24 ;;; Suggestions, comments and requests for improvements are also welcome.
25 ;;; *************************************************************************
26 ;;;
27
28 ;;; CMUCL 18a: Jan-1998 -- Changing to DEFPACKAGE.
29 ;;; Note that at this time CMUCL is not in compliance with ANSI
30 ;;; specified use of feature names :cltl2 :x3j13 :draft-ansi-cl or :ansi-cl
31 ;;; since all of them are in *features*. So I'm not going to try and be
32 ;;; clever with hacking around all the various ancient lisp quirks.
33 ;;; This file is now CMUCL specific only.
34
35 (defpackage "WALKER" (:use :common-lisp)
36 (:export "DEFINE-WALKER-TEMPLATE"
37 "WALK-FORM"
38 "WALK-FORM-EXPAND-MACROS-P"
39 "NESTED-WALK-FORM"
40 "VARIABLE-LEXICAL-P"
41 "VARIABLE-SPECIAL-P"
42 "VARIABLE-GLOBALLY-SPECIAL-P"
43 "*VARIABLE-DECLARATIONS*"
44 "VARIABLE-DECLARATION"
45 "MACROEXPAND-ALL"))
46
47 (defpackage "ITERATE" (:use :common-lisp :walker)
48 (:export "ITERATE" "ITERATE*" "GATHERING" "GATHER" "WITH-GATHERING"
49 "INTERVAL" "ELEMENTS" "LIST-ELEMENTS" "LIST-TAILS"
50 "PLIST-ELEMENTS" "EACHTIME" "WHILE" "UNTIL"
51 "COLLECTING" "JOINING" "MAXIMIZING" "MINIMIZING" "SUMMING"
52 "*ITERATE-WARNINGS*"))
53
54 (defpackage "PCL" (:use :common-lisp :walker :iterate)
55 #+CMU
56 (:shadow "DESTRUCTURING-BIND")
57 #+cmu17
58 (:shadow "FIND-CLASS" "CLASS-NAME" "CLASS-OF"
59 "CLASS" "BUILT-IN-CLASS" "STRUCTURE-CLASS"
60 "STANDARD-CLASS")
61
62 #+cmu
63 (:shadow "DOTIMES")
64
65 #+cmu
66 (:import-from :kernel "FUNCALLABLE-INSTANCE-P")
67
68 (:shadow "DOCUMENTATION")
69
70
71 ;;;
72 ;;; These come from the index pages of 88-002R.
73 ;;;
74 ;;;
75
76 (:export "ADD-METHOD"
77 "BUILT-IN-CLASS"
78 "CALL-METHOD"
79 "CALL-NEXT-METHOD"
80 "CHANGE-CLASS"
81 "CLASS-NAME"
82 "CLASS-OF"
83 "COMPUTE-APPLICABLE-METHODS"
84 "DEFCLASS"
85 "DEFGENERIC"
86 "DEFINE-METHOD-COMBINATION"
87 "DEFMETHOD"
88 "ENSURE-GENERIC-FUNCTION"
89 "FIND-CLASS"
90 "FIND-METHOD"
91 "FUNCTION-KEYWORDS"
92 "GENERIC-FLET"
93 "GENERIC-LABELS"
94 "INITIALIZE-INSTANCE"
95 "INVALID-METHOD-ERROR"
96 "MAKE-INSTANCE"
97 "MAKE-INSTANCES-OBSOLETE"
98 "METHOD-COMBINATION-ERROR"
99 "METHOD-QUALIFIERS"
100 "NEXT-METHOD-P"
101 "NO-APPLICABLE-METHOD"
102 "NO-NEXT-METHOD"
103 "PRINT-OBJECT"
104 "REINITIALIZE-INSTANCE"
105 "REMOVE-METHOD"
106 "SHARED-INITIALIZE"
107 "SLOT-BOUNDP"
108 "SLOT-EXISTS-P"
109 "SLOT-MAKUNBOUND"
110 "SLOT-MISSING"
111 "SLOT-UNBOUND"
112 "SLOT-VALUE"
113 "STANDARD"
114 #-CMU17 "STANDARD-CLASS"
115 "STANDARD-GENERIC-FUNCTION"
116 "STANDARD-METHOD"
117 "STANDARD-OBJECT"
118 #-CMU17 "STRUCTURE-CLASS"
119 #-CMU17 "SYMBOL-MACROLET"
120 "UPDATE-INSTANCE-FOR-DIFFERENT-CLASS"
121 "UPDATE-INSTANCE-FOR-REDEFINED-CLASS"
122 "WITH-ACCESSORS"
123 "WITH-ADDED-METHODS"
124 "WITH-SLOTS"
125 )
126
127 (:export "STANDARD-INSTANCE"
128 "FUNCALLABLE-STANDARD-INSTANCE"
129 "GENERIC-FUNCTION"
130 "STANDARD-GENERIC-FUNCTION"
131 "METHOD"
132 "STANDARD-METHOD"
133 "STANDARD-ACCESSOR-METHOD"
134 "STANDARD-READER-METHOD"
135 "STANDARD-WRITER-METHOD"
136 "METHOD-COMBINATION"
137 "SLOT-DEFINITION"
138 "DIRECT-SLOT-DEFINITION"
139 "EFFECTIVE-SLOT-DEFINITION"
140 "STANDARD-SLOT-DEFINITION"
141 "STANDARD-DIRECT-SLOT-DEFINITION"
142 "STANDARD-EFFECTIVE-SLOT-DEFINITION"
143 "SPECIALIZER"
144 "EQL-SPECIALIZER"
145 #-CMU17 "BUILT-IN-CLASS"
146 "FORWARD-REFERENCED-CLASS"
147 #-CMU17 "STANDARD-CLASS"
148 "FUNCALLABLE-STANDARD-CLASS")
149
150 ;;*chapter-6-exports*
151 (:export "ADD-DEPENDENT"
152 "ADD-DIRECT-METHOD"
153 "ADD-DIRECT-SUBCLASS"
154 "ADD-METHOD"
155 "ALLOCATE-INSTANCE"
156 "CLASS-DEFAULT-INITARGS"
157 "CLASS-DIRECT-DEFAULT-INITARGS"
158 "CLASS-DIRECT-SLOTS"
159 "CLASS-DIRECT-SUBCLASSES"
160 "CLASS-DIRECT-SUPERCLASSES"
161 "CLASS-FINALIZED-P"
162 "CLASS-PRECEDENCE-LIST"
163 "CLASS-PROTOTYPE"
164 "CLASS-SLOTS"
165 "COMPUTE-APPLICABLE-METHODS"
166 "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
167 "COMPUTE-CLASS-PRECEDENCE-LIST"
168 "COMPUTE-DISCRIMINATING-FUNCTION"
169 "COMPUTE-EFFECTIVE-METHOD"
170 "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
171 "COMPUTE-SLOTS"
172 "DIRECT-SLOT-DEFINITION-CLASS"
173 "EFFECTIVE-SLOT-DEFINITION-CLASS"
174 "ENSURE-CLASS"
175 "ENSURE-CLASS-USING-CLASS"
176 "ENSURE-GENERIC-FUNCTION"
177 "ENSURE-GENERIC-FUNCTION-USING-CLASS"
178 "EQL-SPECIALIZER-INSTANCE"
179 "EXTRACT-LAMBDA-LIST"
180 "EXTRACT-SPECIALIZER-NAMES"
181 "FINALIZE-INHERITANCE"
182 "FIND-METHOD-COMBINATION"
183 "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
184 "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
185 "GENERIC-FUNCTION-DECLARATIONS"
186 "GENERIC-FUNCTION-LAMBDA-LIST"
187 "GENERIC-FUNCTION-METHOD-CLASS"
188 "GENERIC-FUNCTION-METHOD-COMBINATION"
189 "GENERIC-FUNCTION-METHODS"
190 "GENERIC-FUNCTION-NAME"
191 "INTERN-EQL-SPECIALIZER"
192 "MAKE-INSTANCE"
193 "MAKE-METHOD-LAMBDA"
194 "MAP-DEPENDENTS"
195 "METHOD-FUNCTION"
196 "METHOD-GENERIC-FUNCTION"
197 "METHOD-LAMBDA-LIST"
198 "METHOD-SPECIALIZERS"
199 "METHOD-QUALIFIERS"
200 "ACCESSOR-METHOD-SLOT-DEFINITION"
201 "READER-METHOD-CLASS"
202 "REMOVE-DEPENDENT"
203 "REMOVE-DIRECT-METHOD"
204 "REMOVE-DIRECT-SUBCLASS"
205 "REMOVE-METHOD"
206 "SET-FUNCALLABLE-INSTANCE-FUNCTION"
207 "SLOT-BOUNDP-USING-CLASS"
208 "SLOT-DEFINITION-ALLOCATION"
209 "SLOT-DEFINITION-INITARGS"
210 "SLOT-DEFINITION-INITFORM"
211 "SLOT-DEFINITION-INITFUNCTION"
212 "SLOT-DEFINITION-LOCATION"
213 "SLOT-DEFINITION-NAME"
214 "SLOT-DEFINITION-READERS"
215 "SLOT-DEFINITION-WRITERS"
216 "SLOT-DEFINITION-TYPE"
217 "SLOT-MAKUNBOUND-USING-CLASS"
218 "SLOT-VALUE-USING-CLASS"
219 "SPECIALIZER-DIRECT-GENERIC-FUNCTION"
220 "SPECIALIZER-DIRECT-METHODS"
221 "STANDARD-INSTANCE-ACCESS"
222 "UPDATE-DEPENDENT"
223 "VALIDATE-SUPERCLASS"
224 "WRITER-METHOD-CLASS"
225 ))
226
227 (defpackage "SLOT-ACCESSOR-NAME" (:use)(:nicknames "S-A-N"))
228
229 (in-package :pcl)
230 (defvar *slot-accessor-name-package*
231 (find-package :slot-accessor-name))
232
233 ;;; These symbol names came from "The Art of the Metaobject Protocol".
234 ;;;
235
236 (defpackage "CLOS-MOP"
237 (:use :pcl :common-lisp)
238 (:nicknames "MOP")
239
240 (:shadowing-import-from :pcl
241 "FIND-CLASS" "CLASS-NAME" "BUILT-IN-CLASS" "CLASS-OF")
242
243 (:export ;; Names taken from "The Art of the Metaobject Protocol"
244 "ADD-DEPENDENT"
245 "ADD-DIRECT-METHOD"
246 "ADD-DIRECT-SUBCLASS"
247 "ADD-METHOD"
248 "ALLOCATE-INSTANCE"
249 "CLASS-DEFAULT-INITARGS"
250 "CLASS-DIRECT-DEFAULT-INITARGS"
251 "CLASS-DIRECT-SLOTS"
252 "CLASS-DIRECT-SUBCLASSES"
253 "CLASS-DIRECT-SUPERCLASSES"
254 "CLASS-FINALIZED-P"
255 "CLASS-NAME"
256 "CLASS-PRECEDENCE-LIST"
257 "CLASS-PROTOTYPE"
258 "CLASS-SLOTS"
259 "COMPUTE-APPLICABLE-METHODS"
260 "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
261 "COMPUTE-CLASS-PRECEDENCE-LIST"
262 "COMPUTE-DEFAULT-INITARGS"
263 "COMPUTE-DISCRIMINATING-FUNCTION"
264 "COMPUTE-EFFECTIVE-METHOD"
265 "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
266 "COMPUTE-SLOTS"
267 "DIRECT-SLOT-DEFINITION-CLASS"
268 "EFFECTIVE-SLOT-DEFINITION-CLASS"
269 "ENSURE-CLASS"
270 "ENSURE-CLASS-USING-CLASS"
271 "ENSURE-GENERIC-FUNCTION"
272 "ENSURE-GENERIC-FUNCTION-USING-CLASS"
273 "EQL-SPECIALIZER-OBJECT"
274 "EXTRACT-LAMBDA-LIST"
275 "EXTRACT-SPECIALIZER-NAMES"
276 "FINALIZE-INHERITANCE"
277 "FIND-METHOD-COMBINATION"
278 "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
279 "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
280 "GENERIC-FUNCTION-DECLARATIONS"
281 "GENERIC-FUNCTION-LAMBDA-LIST"
282 "GENERIC-FUNCTION-METHOD-CLASS"
283 "GENERIC-FUNCTION-METHOD-COMBINATION"
284 "GENERIC-FUNCTION-METHODS"
285 "GENERIC-FUNCTION-NAME"
286 "INTERN-EQL-SPECIALIZER"
287 "MAKE-INSTANCE"
288 "MAKE-METHOD-LAMBDA"
289 "MAP-DEPENDENTS"
290 "METHOD-FUNCTION"
291 "METHOD-GENERIC-FUNCTION"
292 "METHOD-LAMBDA-LIST"
293 "METHOD-SPECIALIZERS"
294 "METHOD-QUALIFIERS"
295 "ACCESSOR-METHOD-SLOT-DEFINITION"
296
297 "SLOT-DEFINITION-ALLOCATION"
298 "SLOT-DEFINITION-INITARGS"
299 "SLOT-DEFINITION-INITFORM"
300 "SLOT-DEFINITION-INITFUNCTION"
301 "SLOT-DEFINITION-NAME"
302 "SLOT-DEFINITION-TYPE"
303 "SLOT-DEFINITION-READERS"
304 "SLOT-DEFINITION-WRITERS"
305 "SLOT-DEFINITION-LOCATION"
306
307 "READER-METHOD-CLASS"
308 "REMOVE-DEPENDENT"
309 "REMOVE-DIRECT-METHOD"
310 "REMOVE-DIRECT-SUBCLASS"
311 "REMOVE-METHOD"
312 "SET-FUNCALLABLE-INSTANCE-FUNCTION"
313 "SLOT-BOUNDP-USING-CLASS"
314 "SLOT-MAKUNBOUND-USING-CLASS"
315 "SLOT-VALUE-USING-CLASS"
316 "SPECIALIZER-DIRECT-GENERIC-FUNCTIONS"
317 "SPECIALIZER-DIRECT-METHODS"
318 "STANDARD-INSTANCE-ACCESS"
319 "UPDATE-DEPENDENT"
320 "VALIDATE-SUPERCLASS"
321 "WRITER-METHOD-CLASS"
322 ))

  ViewVC Help
Powered by ViewVC 1.1.5