2008-03-18 Ludovic Courtès * goops/util.scm (mapappend): Now an alias for SRFI-1's `append-map', which is more efficient. (every, any): Used and re-exported from SRFI-1. 2008-03-12 Ludovic Courtès * goops/describe.scm (describe): Provide `describe' (symbol), not `"describe"' (string). Reported by David Pirotte . 2007-05-05 Ludovic Courtès * goops/internal.scm: Use the public module API rather than hack with `%module-public-interface', `nested-ref', et al. 2005-03-24 Mikael Djurfeldt * accessors.scm, simple.scm: New files. * goops.scm (standard-define-class): Removed; Export define-class as standard-define-class. 2005-01-18 Marius Vollmer * goops.scm (class-of): Changed from being re-exported to just being exported. 2004-02-08 Mikael Djurfeldt * Makefile.am, goops/Makefile.am (TAGS_FILES): Use this variable instead of ETAGS_ARGS so that TAGS can be built using separate build directory. 2004-01-12 Marius Vollmer * goops.scm (compute-get-n-set): Use '#:' in error message instead of ':'. Thanks to Richard Todd! 2003-04-20 Mikael Djurfeldt * goops.scm (compute-getters-n-setters): Allow for primitive procedure thunks. (Thanks to Neil W. Van Dyke.) 2003-04-19 Mikael Djurfeldt * goops/dispatch.scm (cache-hashval): Corrected termination condition for hashval computation. (Previously, it made erroneous assumptions about the representation of environments; Thanks to Andreas Rottmann.) 2003-04-17 Mikael Djurfeldt * goops.scm (compute-getters-n-setters): Check for bad init-thunk. (eqv?): Added default method. (equal?): New default method which uses eqv?. 2003-04-15 Mikael Djurfeldt * goops.scm (compute-getter-method): For custom getter: Check boundness even if there is an init-thunk. (The getter can return # even if the slot has been set before.) (remove-class-accessors!): Also remove accessor-method from its accessor. 2003-04-13 Mikael Djurfeldt * goops.scm (compute-getters-n-setters/verify-accessors): Better check of format of value returned by compute-get-n-set. (compute-getters-n-setters): Extended format of slot getters-n-setters to indicate position and size of slot memory allocated in instances. 2003-04-05 Marius Vollmer * Changed license terms to the plain LGPL thru-out. 2003-03-19 Mikael Djurfeldt * goops.scm (process-class-pre-define-accessor): Temporary kludge to fix a problem introduced by my previous change. 2003-03-17 Mikael Djurfeldt * goops.scm (process-class-pre-define-generic, process-class-pre-define-accessor, process-define-generic, process-define-accessor): New functions. (define-class-pre-definition): Use process-class-pre-define-generic and process-class-pre-define-accessor; Make sure not to create a new local variable if the variable has been imported. (define-generic): Use process-define-generic. (define-accessor): Use process-define-accessor. 2003-03-12 Mikael Djurfeldt * goops.scm (merge-generics): Make sure not to merge a gf with itself. That would be the cause of a real binding collision. 2003-03-11 Mikael Djurfeldt * goops/util.scm (filter): Removed. (Now supplied by core.) * goops.scm (define-extended-generics): New syntax. ( ): Marked as replacements. (upgrade-accessor): Renamed from upgrade-generic-with-setter. (ensure-accessor, upgrade-accessor): Rewritten to accomodate the new class. (merge-accessors): Provide for merging of accessors imported from different modules under the same name. 2003-03-07 Mikael Djurfeldt * goops.scm (equal?): Define default method. (merge-generics): Provide for merging of generic functions imported into a module under the same name. 2003-01-18 Mikael Djurfeldt * goops.scm (method): Construct a new copy of the constant '('()) for every macro invocation. 2003-01-08 Mikael Djurfeldt * goops.scm (upgrade-generic-with-setter, compute-new-list-of-methods): Use methods slot directly instead of generic-function-methods. (upgrade-generic-with-setter): Handle :s. (define-extended-generic): New syntax. (make-extended-generic): New function. 2002-12-08 Rob Browning * Makefile.am (subpkgdatadir): VERSION -> GUILE_EFFECTIVE_VERSION. * goops/Makefile.am (subpkgdatadir): VERSION -> GUILE_EFFECTIVE_VERSION. 2002-11-16 Dirk Herrmann * goops.scm (standard-define-class): Changed definition to form a 'real' macro definition. 2002-07-13 Dirk Herrmann * goops.scm (define-generic, define-accessor): Make sure that define-generic and define-accessor will continue to work when mmacros are expanded before execution. 2002-07-13 Dirk Herrmann * goops.scm (define-class): Make sure that define-class will continue to work when mmacros are expanded before execution. 2002-07-08 Dirk Herrmann * goops.scm (define-generic, define-accessor): Make sure that implicit redefines only happen on top level. * goops.scm (define-class, define-generic, define-accessor), goops/stklos.scm (define-class): Use mmacros instead of macros. 2002-07-07 Dirk Herrmann * goops/save.scm (restore): Replaced "macro" by mmacro. 2001-10-21 Mikael Djurfeldt * goops.scm, goops/active-slot.scm, goops/compile.scm, goops/composite-slot.scm, goops/describe.scm, goops/dispatch.scm, goops/old-define-method.scm, goops/save.scm, goops/util.scm: Move module the system directives `export', `export-syntax', `re-export' and `re-export-syntax' into the `define-module' form. This is the recommended way of exporting bindings. 2001-08-25 Marius Vollmer * Makefile.am, goops/Makefile.am: (AUTOMAKE_OPTIONS): Change "foreign" to "gnu". 2001-07-29 Marius Vollmer * goops/dispatch.scm (hashset-index): Renumbered, since the vcell slot of structs has been removed. 2001-07-18 Martin Grabmueller * goops/util.scm: Updated copyright notice. 2001-07-17 Martin Grabmueller * goops/save.scm: Use `re-export' instead of `export' when re-exporting `make-unbound'. 2001-06-05 Marius Vollmer * goops.scm: Use `re-export' instead of `export' when re-exporting `class-of'. 2001-05-19 Marius Vollmer * goops.scm: Call `%init-goops-builtins' instead of using the `(oop goops goopscore)' module. 2001-05-10 Marius Vollmer * goops/compile.scm (compile-method): Insert comment that `procedure-source' can not be guaranteed to be reliable or efficient. 2001-05-05 Marius Vollmer * goops.scm (initialize-object-procedure): Use `valid-object-procedure?' instead of explicit tag magic. (object-procedure-tags): Removed. * goops/util.scm (top-level-env): Use `current-module' instead of the deprecated *top-level-lookup-closure*. 2001-04-28 Rob Browning * goops/save.scm (write-readably): rename list* to cons*. * goops.scm (method): rename list* to cons*. 2001-04-10 Mikael Djurfeldt * goops/Makefile.am, goops/goopscore.scm: Reverted changes of 2001-04-03, 2001-03-09. 2001-04-03 Keisuke Nishida * goops/Makefile.am (goops_sources): Include goopscore.scm. Thanks to Dale P. Smith. 2001-03-29 Keisuke Nishida * goops/goopscore.scm: New file. 2001-03-09 Mikael Djurfeldt * goops.scm (define-method): Only accept new syntax. * Makefile.am: Added old-define-method.scm. * goops/old-define-method.scm: New file. * goops.scm, goops/save.scm, goops/composite-slot.scm, goops/active-slot.scm: Use new method syntax. 2001-03-04 Mikael Djurfeldt * goops/compile.scm (compile-method): Tag method closure for body expansion. * goops.scm (change-object-class): Quote empty list constants. (method): Reverted previous change (enclosing body); Quote empty list. (initialize ): Supply `dummy-procedure' as default instead of creating a new closure. * goops/internal.scm: Re-export (oop goops) without copying bindings. 2001-02-23 Keisuke Nishida * goops.scm (method): Enclosed BODY by `(let () ...)'. This allows local defines at the beginning of methods. 2000-12-15 Dirk Herrmann * goops/save.scm (load-objects): eval-in-module is deprecated. Use eval instead. 2000-11-24 Dirk Herrmann * goops.scm: Don't export removed %logand any more. * goops/dispatch.scm (cache-try-hash!): Use logand instead of %logand. 2000-11-06 Mikael Djurfeldt * goops.scm (internal-add-method!): Set n-specialized of a generic function to the number of specializers regardless if it has rest args or not. * goops/dispatch.scm (method-cache-install!): Use n-specialized + 1 args for type matching. (Thanks to Lars J. Aas.) 2000-10-23 Mikael Djurfeldt * goops.scm (goops-error): Removed use of oldfmt. ;; Local Variables: ;; coding: utf-8 ;; End: