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

Re: Reasons for withdrawal



At Wed, 29 Oct 2003 08:25:39 -0600, scgmille@xxxxxxxxxxxxxxxxxx wrote:
> 
> [1  <text/plain; us-ascii (quoted-printable)>]
> On Wed, Oct 29, 2003 at 03:12:27PM +0900, Alex Shinn wrote:
> > At Tue, 28 Oct 2003 21:37:26 -0600, scgmille@xxxxxxxxxxxxxxxxxx wrote:
> > You don't, however, need a full-blown, mother-of-all object systems for
> > this SRFI.  You just need single-dispatch for an single-inheritance
> > hierarchy, which could be done in a very simple SRFI.
> 
> I know.  I note this in the Issues section, stating:
> 
> "At the same time it is hoped that a future SRFI will specify a 
> mechanism which will allow a portable and efficient implementation of 
> collections to exist."
> 
> I hope you'll agree that it is ultimately an implementation issue to get 
> the dispatch right, but its not that difficult since it is a very simple 
> form of dispatch.  Bugs will exist in implementations of anything, they 
> can be fixed.

True, it is very simple, which is why I think it would be better to
specify it clearly first.  If you break things into small pieces there's
less confusion (and less to argue about).

A Scheme that implements this SRFI would end up using either their
native object system, a portable object system like TinyCLOS, or a
miniature dispatch system like bear suggested.  I'm worried that these
are not semantically compatible.  In the absence of a dispatch SRFI I'd
like to see the exact semantics specified in detail in SRFI-44 to avoid
future problems (and if it truly is simple then this will be a short
addition).  Items that seem to need clarifying:

   1) single vs. multiple inheritance
       - just say single!
       - if multiple, what CPL do you use?
   2) single vs. multiple dispatch
       - multiple is probably needed for *-union, etc.
       - if multiple, how do you resolve conflicts?
   3) abstract vs. concrete
       - can concrete classes be sub-classed?
       - can new abstract classes be made?
       - can abstract classes sub-class concrete classes?

In the absence of these we don't have clear guidelines for extensions to
this SRFI, and future extensions are likely to have conflicts with each
other and/or specific implementations of the dispatch mechanism.

-- 
Alex