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

Contents of /src/pcl/pkg.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.29 - (show annotations)
Mon Jul 28 10:43:15 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
CVS Tags: double-double-array-base, release-19b-pre1, release-19b-pre2, merged-unicode-utf16-extfmt-2009-06-11, double-double-init-sparc-2, unicode-utf16-extfmt-2009-03-27, double-double-base, snapshot-2007-09, snapshot-2007-08, snapshot-2008-08, snapshot-2008-09, ppc_gencgc_snap_2006-01-06, sse2-packed-2008-11-12, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2007-05, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2006-11, snapshot-2006-10, double-double-init-sparc, snapshot-2006-12, unicode-string-buffer-impl-base, sse2-base, unicode-string-buffer-base, sse2-packed-base, amd64-dd-start, snapshot-2003-10, snapshot-2004-10, release-19f-pre1, snapshot-2008-12, snapshot-2008-11, intl-2-branch-base, snapshot-2004-08, snapshot-2004-09, snapshot-2007-01, snapshot-2007-02, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, release-19e, release-19d, double-double-init-ppc, release-19c, dynamic-extent-base, unicode-utf16-sync-2008-12, release-19c-base, label-2009-03-16, release-19f-base, merge-sse2-packed, mod-arith-base, sparc_gencgc_merge, merge-with-19f, snapshot-2004-12, snapshot-2004-11, unicode-snapshot-2009-05, unicode-snapshot-2009-06, amd64-merge-start, ppc_gencgc_snap_2005-12-17, double-double-init-%make-sparc, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-extfmts-sync-2008-12, prm-before-macosx-merge-tag, snapshot-2008-04, snapshot-2003-11, snapshot-2005-07, unicode-utf16-sync-label-2009-03-16, RELEASE_19f, snapshot-2007-03, release-20a-base, unicode-utf16-char-support-2009-03-26, unicode-utf16-char-support-2009-03-25, release-19a-base, unicode-utf16-extfmts-pre-sync-2008-11, snapshot-2008-10, sparc_gencgc, snapshot-2007-04, unicode-utf16-sync-2008-11, snapshot-2007-07, snapshot-2007-06, snapshot-2003-12, release-19a-pre1, release-19a-pre3, release-19a-pre2, pre-merge-intl-branch, release-19a, double-double-array-checkpoint, double-double-reader-checkpoint-1, release-19d-base, release-19e-pre1, double-double-irrat-end, release-19e-pre2, snapshot-2010-01, snapshot-2010-03, snapshot-2010-02, release-19d-pre2, release-19d-pre1, double-double-init-checkpoint-1, double-double-reader-base, label-2009-03-25, snapshot-2005-03, release-19b-base, double-double-init-x86, sse2-checkpoint-2008-10-01, snapshot-2005-11, double-double-sparc-checkpoint-1, snapshot-2004-04, sse2-merge-with-2008-11, sse2-merge-with-2008-10, snapshot-2005-10, RELEASE_20a, snapshot-2005-12, release-20a-pre1, snapshot-2005-01, snapshot-2009-11, snapshot-2009-12, unicode-utf16-extfmt-2009-06-11, portable-clx-import-2009-06-16, unicode-utf16-string-support, release-19c-pre1, release-19e-base, intl-branch-base, double-double-irrat-start, snapshot-2005-06, snapshot-2005-05, snapshot-2005-04, ppc_gencgc_snap_2005-05-14, snapshot-2005-02, unicode-utf16-base, portable-clx-base, snapshot-2005-09, snapshot-2005-08, lisp-executable-base, snapshot-2009-08, snapshot-2007-12, snapshot-2007-10, snapshot-2007-11, snapshot-2009-02, snapshot-2009-01, snapshot-2009-07, snapshot-2009-05, snapshot-2009-04, snapshot-2006-02, snapshot-2006-03, snapshot-2006-01, snapshot-2006-06, snapshot-2006-07, snapshot-2006-04, snapshot-2006-05, pre-telent-clx, snapshot-2006-08, snapshot-2006-09
Branch point for: release-19b-branch, double-double-reader-branch, double-double-array-branch, mod-arith-branch, RELEASE-19F-BRANCH, portable-clx-branch, sparc_gencgc_branch, unicode-string-buffer-branch, dynamic-extent, release-19d-branch, ppc_gencgc_branch, sse2-packed-branch, lisp-executable, RELEASE-20A-BRANCH, amd64-dd-branch, double-double-branch, unicode-string-buffer-impl-branch, intl-branch, unicode-utf16-branch, release-19e-branch, sse2-branch, release-19a-branch, release-19c-branch, intl-2-branch, unicode-utf16-extfmt-branch
Changes since 1.28: +3 -2 lines
	CLtS effectively forbids method load-time precomputation of
	effective methods (which I think is either yet another oversight,
	or bad language design).  Found by Paul Dietz.

	Set *max-emf-precomputation-methods* to > 0 to allow
	precomputation of effective methods at method load-time for
	generic functions having less than the specified number of
	methods.

	* src/pcl/dfun.lisp (*max-emf-precomputation-methods*): Set to 0.

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

  ViewVC Help
Powered by ViewVC 1.1.5