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

Contents of /src/pcl/pkg.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.22.2.3 - (hide annotations)
Thu Mar 20 23:41:00 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.22.2.2: +1 -3 lines
* std-class.lisp (inform-type-system-about-class)
(shared-initialize :after): New methods for condition-class.

* macros.lisp (find-class-from-cell): Test both structure-type-p
and condition-type-p.  Use ensure-non-standard-class.

* low.lisp (structure-type-p): Return false for conditions.
(condition-type-p): New function.

* env.lisp (coerce-to-pcl-class, make-instance, change-class)
(frob): Remove methods specializing on kernel::class.

* defs.lisp (specializer-from-type): Use
ensure-non-standard-class.
(condition-class): New metaclass.

* cmucl-documentation.lisp (setf documentation): Test
both structure-type-p and condition-type-p.

* cache.lisp (wrapper-class*): Call ensure-non-standard-class.
(raise-metatype): Handle condition-class.

* braid.lisp (find-structure-class): Variable removed.
(bootstrap-initialize-class): Add supplied-p parameter for the
prototype because class null has a nil prototype.
(ensure-non-standard-class): Renamed from find-structure-class.
Handle conditions.
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 pw 1.16
28 dtc 1.15 (ext:file-comment
29 gerd 1.22.2.3 "$Header: /tiger/var/lib/cvsroots/cmucl/src/pcl/pkg.lisp,v 1.22.2.3 2003/03/20 23:41:00 gerd Exp $")
30 dtc 1.15 ;;;
31 pw 1.11 ;;; CMUCL 18a: Jan-1998 -- Changing to DEFPACKAGE.
32    
33     (defpackage "WALKER" (:use :common-lisp)
34     (:export "DEFINE-WALKER-TEMPLATE"
35     "WALK-FORM"
36     "WALK-FORM-EXPAND-MACROS-P"
37     "NESTED-WALK-FORM"
38     "VARIABLE-LEXICAL-P"
39     "VARIABLE-SPECIAL-P"
40     "VARIABLE-GLOBALLY-SPECIAL-P"
41     "*VARIABLE-DECLARATIONS*"
42     "VARIABLE-DECLARATION"
43     "MACROEXPAND-ALL"))
44    
45 gerd 1.22.2.2 (defpackage "PCL"
46     (:use :common-lisp :walker)
47 pmai 1.19 (:import-from :kernel "FUNCALLABLE-INSTANCE-P" "SIMPLE-PROGRAM-ERROR")
48 pw 1.11 (:shadow "DOCUMENTATION")
49 wlott 1.1
50    
51     ;;;
52     ;;; These come from the index pages of 88-002R.
53     ;;;
54     ;;;
55    
56 pw 1.11 (:export "ADD-METHOD"
57     "BUILT-IN-CLASS"
58     "CALL-METHOD"
59     "CALL-NEXT-METHOD"
60     "CHANGE-CLASS"
61     "CLASS-NAME"
62     "CLASS-OF"
63     "COMPUTE-APPLICABLE-METHODS"
64     "DEFCLASS"
65     "DEFGENERIC"
66     "DEFINE-METHOD-COMBINATION"
67     "DEFMETHOD"
68 dtc 1.13 "DESCRIBE-OBJECT"
69 pw 1.11 "ENSURE-GENERIC-FUNCTION"
70     "FIND-CLASS"
71     "FIND-METHOD"
72     "FUNCTION-KEYWORDS"
73     "INITIALIZE-INSTANCE"
74     "INVALID-METHOD-ERROR"
75     "MAKE-INSTANCE"
76     "MAKE-INSTANCES-OBSOLETE"
77     "METHOD-COMBINATION-ERROR"
78     "METHOD-QUALIFIERS"
79     "NEXT-METHOD-P"
80     "NO-APPLICABLE-METHOD"
81     "NO-NEXT-METHOD"
82     "PRINT-OBJECT"
83     "REINITIALIZE-INSTANCE"
84     "REMOVE-METHOD"
85     "SHARED-INITIALIZE"
86     "SLOT-BOUNDP"
87     "SLOT-EXISTS-P"
88     "SLOT-MAKUNBOUND"
89     "SLOT-MISSING"
90     "SLOT-UNBOUND"
91     "SLOT-VALUE"
92     "STANDARD"
93     "STANDARD-GENERIC-FUNCTION"
94     "STANDARD-METHOD"
95     "STANDARD-OBJECT"
96     "UPDATE-INSTANCE-FOR-DIFFERENT-CLASS"
97     "UPDATE-INSTANCE-FOR-REDEFINED-CLASS"
98     "WITH-ACCESSORS"
99     "WITH-SLOTS"
100     )
101 gerd 1.22.2.1
102     (:export "SEAL" "UNSEAL" "SEALED-ERROR")
103    
104     ;; Function names.
105     (:export "EFFECTIVE-METHOD" "FAST-METHOD" "SLOT-ACCESSOR"
106     "CLASS-PREDICATE")
107 ram 1.8
108 pw 1.11 (:export "STANDARD-INSTANCE"
109     "FUNCALLABLE-STANDARD-INSTANCE"
110     "GENERIC-FUNCTION"
111     "STANDARD-GENERIC-FUNCTION"
112     "METHOD"
113     "STANDARD-METHOD"
114     "STANDARD-ACCESSOR-METHOD"
115     "STANDARD-READER-METHOD"
116     "STANDARD-WRITER-METHOD"
117     "METHOD-COMBINATION"
118     "SLOT-DEFINITION"
119     "DIRECT-SLOT-DEFINITION"
120     "EFFECTIVE-SLOT-DEFINITION"
121     "STANDARD-SLOT-DEFINITION"
122     "STANDARD-DIRECT-SLOT-DEFINITION"
123     "STANDARD-EFFECTIVE-SLOT-DEFINITION"
124     "SPECIALIZER"
125     "EQL-SPECIALIZER"
126     "FORWARD-REFERENCED-CLASS"
127 dtc 1.14 "FUNCALLABLE-STANDARD-CLASS"
128     "FUNCALLABLE-STANDARD-OBJECT")
129 pw 1.11
130     ;;*chapter-6-exports*
131     (:export "ADD-DEPENDENT"
132     "ADD-DIRECT-METHOD"
133     "ADD-DIRECT-SUBCLASS"
134     "ADD-METHOD"
135     "ALLOCATE-INSTANCE"
136     "CLASS-DEFAULT-INITARGS"
137     "CLASS-DIRECT-DEFAULT-INITARGS"
138     "CLASS-DIRECT-SLOTS"
139     "CLASS-DIRECT-SUBCLASSES"
140     "CLASS-DIRECT-SUPERCLASSES"
141     "CLASS-FINALIZED-P"
142     "CLASS-PRECEDENCE-LIST"
143     "CLASS-PROTOTYPE"
144     "CLASS-SLOTS"
145     "COMPUTE-APPLICABLE-METHODS"
146     "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
147     "COMPUTE-CLASS-PRECEDENCE-LIST"
148     "COMPUTE-DISCRIMINATING-FUNCTION"
149     "COMPUTE-EFFECTIVE-METHOD"
150     "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
151     "COMPUTE-SLOTS"
152     "DIRECT-SLOT-DEFINITION-CLASS"
153     "EFFECTIVE-SLOT-DEFINITION-CLASS"
154     "ENSURE-CLASS"
155     "ENSURE-CLASS-USING-CLASS"
156     "ENSURE-GENERIC-FUNCTION"
157     "ENSURE-GENERIC-FUNCTION-USING-CLASS"
158     "EQL-SPECIALIZER-INSTANCE"
159     "EXTRACT-LAMBDA-LIST"
160     "EXTRACT-SPECIALIZER-NAMES"
161     "FINALIZE-INHERITANCE"
162     "FIND-METHOD-COMBINATION"
163     "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
164     "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
165     "GENERIC-FUNCTION-DECLARATIONS"
166     "GENERIC-FUNCTION-LAMBDA-LIST"
167     "GENERIC-FUNCTION-METHOD-CLASS"
168     "GENERIC-FUNCTION-METHOD-COMBINATION"
169     "GENERIC-FUNCTION-METHODS"
170     "GENERIC-FUNCTION-NAME"
171     "INTERN-EQL-SPECIALIZER"
172     "MAKE-INSTANCE"
173     "MAKE-METHOD-LAMBDA"
174     "MAP-DEPENDENTS"
175     "METHOD-FUNCTION"
176     "METHOD-GENERIC-FUNCTION"
177     "METHOD-LAMBDA-LIST"
178     "METHOD-SPECIALIZERS"
179     "METHOD-QUALIFIERS"
180     "ACCESSOR-METHOD-SLOT-DEFINITION"
181     "READER-METHOD-CLASS"
182     "REMOVE-DEPENDENT"
183     "REMOVE-DIRECT-METHOD"
184     "REMOVE-DIRECT-SUBCLASS"
185     "REMOVE-METHOD"
186     "SET-FUNCALLABLE-INSTANCE-FUNCTION"
187     "SLOT-BOUNDP-USING-CLASS"
188     "SLOT-DEFINITION-ALLOCATION"
189     "SLOT-DEFINITION-INITARGS"
190     "SLOT-DEFINITION-INITFORM"
191     "SLOT-DEFINITION-INITFUNCTION"
192     "SLOT-DEFINITION-LOCATION"
193     "SLOT-DEFINITION-NAME"
194     "SLOT-DEFINITION-READERS"
195     "SLOT-DEFINITION-WRITERS"
196     "SLOT-DEFINITION-TYPE"
197     "SLOT-MAKUNBOUND-USING-CLASS"
198     "SLOT-VALUE-USING-CLASS"
199     "SPECIALIZER-DIRECT-GENERIC-FUNCTION"
200     "SPECIALIZER-DIRECT-METHODS"
201     "STANDARD-INSTANCE-ACCESS"
202     "UPDATE-DEPENDENT"
203     "VALIDATE-SUPERCLASS"
204     "WRITER-METHOD-CLASS"
205 ram 1.8 ))
206 ram 1.3
207 pw 1.11
208     ;;; These symbol names came from "The Art of the Metaobject Protocol".
209     ;;;
210 ram 1.8
211 pw 1.11 (defpackage "CLOS-MOP"
212     (:use :pcl :common-lisp)
213     (:nicknames "MOP")
214    
215     (:shadowing-import-from :pcl
216     "FIND-CLASS" "CLASS-NAME" "BUILT-IN-CLASS" "CLASS-OF")
217 pw 1.12 (:export
218     "FIND-CLASS" "CLASS-NAME" "BUILT-IN-CLASS" "CLASS-OF")
219 pw 1.11
220     (:export ;; Names taken from "The Art of the Metaobject Protocol"
221     "ADD-DEPENDENT"
222     "ADD-DIRECT-METHOD"
223     "ADD-DIRECT-SUBCLASS"
224     "ADD-METHOD"
225     "ALLOCATE-INSTANCE"
226     "CLASS-DEFAULT-INITARGS"
227     "CLASS-DIRECT-DEFAULT-INITARGS"
228     "CLASS-DIRECT-SLOTS"
229     "CLASS-DIRECT-SUBCLASSES"
230     "CLASS-DIRECT-SUPERCLASSES"
231     "CLASS-FINALIZED-P"
232     "CLASS-NAME"
233     "CLASS-PRECEDENCE-LIST"
234     "CLASS-PROTOTYPE"
235     "CLASS-SLOTS"
236     "COMPUTE-APPLICABLE-METHODS"
237     "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
238     "COMPUTE-CLASS-PRECEDENCE-LIST"
239     "COMPUTE-DEFAULT-INITARGS"
240     "COMPUTE-DISCRIMINATING-FUNCTION"
241     "COMPUTE-EFFECTIVE-METHOD"
242     "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
243     "COMPUTE-SLOTS"
244     "DIRECT-SLOT-DEFINITION-CLASS"
245     "EFFECTIVE-SLOT-DEFINITION-CLASS"
246     "ENSURE-CLASS"
247     "ENSURE-CLASS-USING-CLASS"
248     "ENSURE-GENERIC-FUNCTION"
249     "ENSURE-GENERIC-FUNCTION-USING-CLASS"
250     "EQL-SPECIALIZER-OBJECT"
251     "EXTRACT-LAMBDA-LIST"
252     "EXTRACT-SPECIALIZER-NAMES"
253     "FINALIZE-INHERITANCE"
254     "FIND-METHOD-COMBINATION"
255     "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
256     "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
257     "GENERIC-FUNCTION-DECLARATIONS"
258     "GENERIC-FUNCTION-LAMBDA-LIST"
259     "GENERIC-FUNCTION-METHOD-CLASS"
260     "GENERIC-FUNCTION-METHOD-COMBINATION"
261     "GENERIC-FUNCTION-METHODS"
262     "GENERIC-FUNCTION-NAME"
263     "INTERN-EQL-SPECIALIZER"
264     "MAKE-INSTANCE"
265     "MAKE-METHOD-LAMBDA"
266     "MAP-DEPENDENTS"
267     "METHOD-FUNCTION"
268     "METHOD-GENERIC-FUNCTION"
269     "METHOD-LAMBDA-LIST"
270     "METHOD-SPECIALIZERS"
271     "METHOD-QUALIFIERS"
272     "ACCESSOR-METHOD-SLOT-DEFINITION"
273    
274     "SLOT-DEFINITION-ALLOCATION"
275     "SLOT-DEFINITION-INITARGS"
276     "SLOT-DEFINITION-INITFORM"
277     "SLOT-DEFINITION-INITFUNCTION"
278     "SLOT-DEFINITION-NAME"
279     "SLOT-DEFINITION-TYPE"
280     "SLOT-DEFINITION-READERS"
281     "SLOT-DEFINITION-WRITERS"
282     "SLOT-DEFINITION-LOCATION"
283    
284     "READER-METHOD-CLASS"
285     "REMOVE-DEPENDENT"
286     "REMOVE-DIRECT-METHOD"
287     "REMOVE-DIRECT-SUBCLASS"
288     "REMOVE-METHOD"
289     "SET-FUNCALLABLE-INSTANCE-FUNCTION"
290     "SLOT-BOUNDP-USING-CLASS"
291     "SLOT-MAKUNBOUND-USING-CLASS"
292     "SLOT-VALUE-USING-CLASS"
293     "SPECIALIZER-DIRECT-GENERIC-FUNCTIONS"
294     "SPECIALIZER-DIRECT-METHODS"
295     "STANDARD-INSTANCE-ACCESS"
296     "UPDATE-DEPENDENT"
297     "VALIDATE-SUPERCLASS"
298     "WRITER-METHOD-CLASS"
299     ))

  ViewVC Help
Powered by ViewVC 1.1.5