guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help required with exporting and using GOOP generics


From: Brent Pinkney
Subject: Re: Help required with exporting and using GOOP generics
Date: Fri, 15 Mar 2013 22:57:28 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130221 Thunderbird/17.0.3

On 15/03/2013 02:11, address@hidden wrote:
---- Mark H Weaver <address@hidden> wrote: 
The proper solution is as follows:

* Every generic function must be defined (using 'define-generic') and
  exported from one (and only one) module.

* Every module that uses a generic function, or adds a method to it (and
  that includes slot accessors), must first import the generic function
  from the (one) module that exports it.

Think of a generic function as a normal procedure that contains an
internal table of methods.  Like any other procedure, there's a single
module that defines it and exports it.  The fact that some modules add
methods to these internal tables does not mean that it is appropriate to
export the procedure from those other modules.
Thanks Mark.  Very concisely put.

Really ?

How does that work in an environment where you are using third party libraries, lice srfi, ice-9, guile-lib, etc as well as your own code.

How could one possibly ensure that the other libraries export say "format" correctly - perhaps they are purists and not even aware of the goops modules.

I think guile has it backwards here - goops must not break quiles modules when someone imports a guile generic.


Thanks

Brent






reply via email to

[Prev in Thread] Current Thread [Next in Thread]