GOOPS NEWS --- history of user-visible changes.  -*- text -*-
Copyright (C) 1999, 2001 Free Software Foundation, Inc.
See the end for copying conditions.

Please send GOOPS bug reports to bug-guile@gnu.org.

Changes since GOOPS 0.1.2:

* Changes to the distribution

** GOOPS 0.1.4 is dependent on Guile version >= 1.3.3

* Changes to Scheme functions and syntax

** A new scheme for "forwarding" calls to a builtin to a generic function

It is now possible to extend the functionality of some Guile
primitives by letting them defer a call to a GOOPS generic function on
argument mismatch.  This functionality is enabled with the GOOPS
primitive

  enable-primitive-generic! PRIMITIVE ...

[This primitive will disappear again in Guile-1.4 when all primitives
 will be primitive generics.]

It is then possible to extend the primitive(s) by defining methods for
them without loss of efficiency in normal evaluation.

Example:

  (use-modules (oop goops))
  (enable-primitive-generic! +)
  (define-method + ((x <string>) (y <string>))
    (string-append x y))

  + will still be as efficient as usual in numerical calculations, but
  can also be used for concatenating strings.

  Who will be the first one to extend Guile's numerical tower to
  rationals?  :)


Changes since GOOPS 0.1:

* Changes to Scheme functions and syntax

** Corrected serious bugs in compute-slot-accessors and initialize <class>.


Copyright information:

Copyright (C) 1999 Free Software Foundation, Inc.

   Permission is granted to anyone to make or distribute verbatim copies
   of this document as received, in any medium, provided that the
   copyright notice and this permission notice are preserved,
   thus giving the recipient permission to redistribute in turn.

   Permission is granted to distribute modified versions
   of this document, or of portions of it,
   under the above conditions, provided also that they
   carry prominent notices stating who last changed them.


Local variables:
mode: outline
paragraph-separate: "[ 	]*$"
end:

