1 2008-03-18 Ludovic Courtès <ludo@gnu.org>
3 * goops/util.scm (mapappend): Now an alias for SRFI-1's
4 `append-map', which is more efficient.
5 (every, any): Used and re-exported from SRFI-1.
7 2008-03-12 Ludovic Courtès <ludo@gnu.org>
9 * goops/describe.scm (describe): Provide `describe' (symbol),
10 not `"describe"' (string). Reported by David Pirotte
13 2005-03-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
15 * accessors.scm, simple.scm: New files.
17 * goops.scm (standard-define-class): Removed; Export
18 define-class as standard-define-class.
20 2005-01-18 Marius Vollmer <marius.vollmer@uni-dortmund.de>
22 * goops.scm (class-of): Changed from being re-exported to just
25 2004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
27 * Makefile.am, goops/Makefile.am (TAGS_FILES): Use this variable
28 instead of ETAGS_ARGS so that TAGS can be built using separate
31 2004-01-12 Marius Vollmer <mvo@zagadka.de>
33 * goops.scm (compute-get-n-set): Use '#:' in error message instead
34 of ':'. Thanks to Richard Todd!
36 2003-04-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
38 * goops.scm (compute-getters-n-setters): Allow for primitive
39 procedure thunks. (Thanks to Neil W. Van Dyke.)
41 2003-04-19 Mikael Djurfeldt <djurfeldt@nada.kth.se>
43 * goops/dispatch.scm (cache-hashval): Corrected termination
44 condition for hashval computation. (Previously, it made erroneous
45 assumptions about the representation of environments; Thanks to
48 2003-04-17 Mikael Djurfeldt <djurfeldt@nada.kth.se>
50 * goops.scm (compute-getters-n-setters): Check for bad init-thunk.
51 (eqv?): Added default method.
52 (equal?): New default method which uses eqv?.
54 2003-04-15 Mikael Djurfeldt <djurfeldt@nada.kth.se>
56 * goops.scm (compute-getter-method): For custom getter: Check
57 boundness even if there is an init-thunk. (The getter can return
58 #<unbound> even if the slot has been set before.)
59 (remove-class-accessors!): Also remove accessor-method from its
62 2003-04-13 Mikael Djurfeldt <djurfeldt@nada.kth.se>
64 * goops.scm (compute-getters-n-setters/verify-accessors): Better
65 check of format of value returned by compute-get-n-set.
66 (compute-getters-n-setters): Extended format of slot
67 getters-n-setters to indicate position and size of slot memory
68 allocated in instances.
70 2003-04-05 Marius Vollmer <mvo@zagadka.de>
72 * Changed license terms to the plain LGPL thru-out.
74 2003-03-19 Mikael Djurfeldt <mdj@kvast.blakulla.net>
76 * goops.scm (process-class-pre-define-accessor): Temporary kludge
77 to fix a problem introduced by my previous change.
79 2003-03-17 Mikael Djurfeldt <djurfeldt@nada.kth.se>
81 * goops.scm (process-class-pre-define-generic,
82 process-class-pre-define-accessor, process-define-generic,
83 process-define-accessor): New functions.
84 (define-class-pre-definition): Use
85 process-class-pre-define-generic and
86 process-class-pre-define-accessor; Make sure not to create a new
87 local variable if the variable has been imported.
88 (define-generic): Use process-define-generic.
89 (define-accessor): Use process-define-accessor.
91 2003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
93 * goops.scm (merge-generics): Make sure not to merge a gf with
94 itself. That would be the cause of a real binding collision.
96 2003-03-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
98 * goops/util.scm (filter): Removed. (Now supplied by core.)
100 * goops.scm (define-extended-generics): New syntax.
101 (<class> <operator-class> <entity-class> <entity>): Marked as
103 (upgrade-accessor): Renamed from upgrade-generic-with-setter.
104 (ensure-accessor, upgrade-accessor): Rewritten to accomodate the
105 new <accessor> class.
106 (merge-accessors): Provide for merging of accessors imported from
107 different modules under the same name.
109 2003-03-07 Mikael Djurfeldt <djurfeldt@nada.kth.se>
111 * goops.scm (equal?): Define default method.
112 (merge-generics): Provide for merging of generic functions
113 imported into a module under the same name.
115 2003-01-18 Mikael Djurfeldt <djurfeldt@nada.kth.se>
117 * goops.scm (method): Construct a new copy of the constant '('())
118 for every macro invocation.
120 2003-01-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
122 * goops.scm (upgrade-generic-with-setter,
123 compute-new-list-of-methods): Use methods slot directly instead of
124 generic-function-methods.
125 (upgrade-generic-with-setter): Handle <extended-generic>:s.
126 (define-extended-generic): New syntax.
127 (make-extended-generic): New function.
129 2002-12-08 Rob Browning <rlb@defaultvalue.org>
131 * Makefile.am (subpkgdatadir): VERSION -> GUILE_EFFECTIVE_VERSION.
133 * goops/Makefile.am (subpkgdatadir): VERSION ->
134 GUILE_EFFECTIVE_VERSION.
136 2002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
138 * goops.scm (standard-define-class): Changed definition to form
139 a 'real' macro definition.
141 2002-07-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
143 * goops.scm (define-generic, define-accessor): Make sure that
144 define-generic and define-accessor will continue to work when
145 mmacros are expanded before execution.
147 2002-07-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
149 * goops.scm (define-class): Make sure that define-class will
150 continue to work when mmacros are expanded before execution.
152 2002-07-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
154 * goops.scm (define-generic, define-accessor): Make sure that
155 implicit redefines only happen on top level.
157 * goops.scm (define-class, define-generic, define-accessor),
158 goops/stklos.scm (define-class): Use mmacros instead of macros.
160 2002-07-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
162 * goops/save.scm (restore): Replaced "macro" by mmacro.
164 2001-10-21 Mikael Djurfeldt <mdj@linnaeus>
166 * goops.scm, goops/active-slot.scm, goops/compile.scm,
167 goops/composite-slot.scm, goops/describe.scm, goops/dispatch.scm,
168 goops/old-define-method.scm, goops/save.scm, goops/util.scm: Move
169 module the system directives `export', `export-syntax',
170 `re-export' and `re-export-syntax' into the `define-module' form.
171 This is the recommended way of exporting bindings.
173 2001-08-25 Marius Vollmer <mvo@zagadka.ping.de>
175 * Makefile.am, goops/Makefile.am: (AUTOMAKE_OPTIONS): Change
178 2001-07-29 Marius Vollmer <mvo@zagadka.ping.de>
180 * goops/dispatch.scm (hashset-index): Renumbered, since the vcell
181 slot of structs has been removed.
183 2001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
185 * goops/util.scm: Updated copyright notice.
187 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
189 * goops/save.scm: Use `re-export' instead of `export' when
190 re-exporting `make-unbound'.
192 2001-06-05 Marius Vollmer <mvo@zagadka.ping.de>
194 * goops.scm: Use `re-export' instead of `export' when re-exporting
197 2001-05-19 Marius Vollmer <mvo@zagadka.ping.de>
199 * goops.scm: Call `%init-goops-builtins' instead of using the
200 `(oop goops goopscore)' module.
202 2001-05-10 Marius Vollmer <mvo@zagadka.ping.de>
204 * goops/compile.scm (compile-method): Insert comment that
205 `procedure-source' can not be guaranteed to be reliable or
208 2001-05-05 Marius Vollmer <mvo@zagadka.ping.de>
210 * goops.scm (initialize-object-procedure): Use
211 `valid-object-procedure?' instead of explicit tag magic.
212 (object-procedure-tags): Removed.
214 * goops/util.scm (top-level-env): Use `current-module' instead of
215 the deprecated *top-level-lookup-closure*.
217 2001-04-28 Rob Browning <rlb@cs.utexas.edu>
219 * goops/save.scm (write-readably): rename list* to cons*.
221 * goops.scm (method): rename list* to cons*.
223 2001-04-10 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
225 * goops/Makefile.am, goops/goopscore.scm: Reverted changes of
226 2001-04-03, 2001-03-09.
228 2001-04-03 Keisuke Nishida <kxn30@po.cwru.edu>
230 * goops/Makefile.am (goops_sources): Include goopscore.scm.
231 Thanks to Dale P. Smith.
233 2001-03-29 Keisuke Nishida <kxn30@po.cwru.edu>
235 * goops/goopscore.scm: New file.
237 2001-03-09 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
239 * goops.scm (define-method): Only accept new syntax.
241 * Makefile.am: Added old-define-method.scm.
243 * goops/old-define-method.scm: New file.
245 * goops.scm, goops/save.scm, goops/composite-slot.scm,
246 goops/active-slot.scm: Use new method syntax.
248 2001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
250 * goops/compile.scm (compile-method): Tag method closure for body
253 * goops.scm (change-object-class): Quote empty list constants.
254 (method): Reverted previous change (enclosing body);
256 (initialize <method>): Supply `dummy-procedure' as default instead
257 of creating a new closure.
259 * goops/internal.scm: Re-export (oop goops) without copying
262 2001-02-23 Keisuke Nishida <kxn30@po.cwru.edu>
264 * goops.scm (method): Enclosed BODY by `(let () ...)'.
265 This allows local defines at the beginning of methods.
267 2000-12-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
269 * goops/save.scm (load-objects): eval-in-module is deprecated.
272 2000-11-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
274 * goops.scm: Don't export removed %logand any more.
276 * goops/dispatch.scm (cache-try-hash!): Use logand instead of
279 2000-11-06 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
281 * goops.scm (internal-add-method!): Set n-specialized of a generic
282 function to the number of specializers regardless if it has rest
285 * goops/dispatch.scm (method-cache-install!): Use n-specialized +
286 1 args for type matching. (Thanks to Lars J. Aas.)
288 2000-10-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
290 * goops.scm (goops-error): Removed use of oldfmt.