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

Contents of /src/pcl/pkg.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.11 - (hide 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 wlott 1.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 pw 1.11 ;;; 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 wlott 1.1
62 pw 1.11 #+cmu
63     (:shadow "DOTIMES")
64 ram 1.7
65 pw 1.11 #+cmu
66     (:import-from :kernel "FUNCALLABLE-INSTANCE-P")
67 ram 1.7
68 pw 1.11 (:shadow "DOCUMENTATION")
69 wlott 1.1
70    
71     ;;;
72     ;;; These come from the index pages of 88-002R.
73     ;;;
74     ;;;
75    
76 pw 1.11 (: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 ram 1.8
127 pw 1.11 (: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 ram 1.8 ))
226 ram 1.3
227 pw 1.11 (defpackage "SLOT-ACCESSOR-NAME" (:use)(:nicknames "S-A-N"))
228 ram 1.8
229 pw 1.11 (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 ram 1.8
236 pw 1.11 (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