Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!oakhill!dover!hume
From: hume@buckwheat.mot.sps.com (Chris Hume)
Newsgroups: comp.lang.lisp
Subject: Interface Export: Protection at the Boundary
Message-ID: 
Date: 25 Sep 89 23:00:40 GMT
Sender: news@dover.sps.mot.com
Distribution: comp.lang.lisp
Lines: 26

How should generic functions be exported from their home packages?

If a function like DESCRIBE is already in conventional use, then
it seems best NOT to attempt to export it from "RANDOM" package
even though this package may specialize DESCRIBE methods to its
own random classes.  Of course, the "RANDOM" methods must remain
congruent with whatever interface has come into conventional use.
[I'm somewhat confused about how this works anyway.  Does method
dispatching ignore the packages of function/method specifiers?]

Exporting the DESCRIBE interface from "RANDOM" would cause conflict
with the home package in implicit use (e.g., "LISP") where explicit
use of the "RANDOM" package is also requested.

In the event that a function like INVERT may await conventional
definition, its interface MUST BE exported from "RANDOM".  In
this case, otherwise congruent interfaces defined in separate
packages seem obligated to generate SYMBOL-PACKAGE conflicts.

Some sort of "KEYWORD" package for generic function specifiers
might alleviate this interface registration problem.  It appears
there is no conventional "home" package for generic functions.

Chris
--
Phone: (602) 994-6835		EMail: hume@sps.mot.com