Reasons for withdrawal scgmille@xxxxxx (28 Oct 2003 20:35 UTC)
Re: Reasons for withdrawal Tom Lord (28 Oct 2003 21:24 UTC)
RE: Reasons for withdrawal Anton van Straaten (28 Oct 2003 22:05 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (28 Oct 2003 22:36 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (28 Oct 2003 22:44 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (28 Oct 2003 23:22 UTC)
Re: Reasons for withdrawal Tom Lord (29 Oct 2003 02:50 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (29 Oct 2003 03:19 UTC)
Re: Reasons for withdrawal Tom Lord (29 Oct 2003 03:31 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (29 Oct 2003 03:38 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (29 Oct 2003 04:36 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (29 Oct 2003 05:02 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (29 Oct 2003 05:32 UTC)
Re: Reasons for withdrawal Taylor Campbell (28 Oct 2003 22:56 UTC)
Re: Reasons for withdrawal Taylor Campbell (28 Oct 2003 23:06 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (28 Oct 2003 23:16 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (28 Oct 2003 23:28 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (28 Oct 2003 23:42 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (29 Oct 2003 00:13 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (29 Oct 2003 01:00 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (29 Oct 2003 01:41 UTC)
Re: Reasons for withdrawal Tom Lord (29 Oct 2003 03:03 UTC)
RE: Reasons for withdrawal Anton van Straaten (29 Oct 2003 05:31 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (29 Oct 2003 05:54 UTC)
RE: Reasons for withdrawal Anton van Straaten (29 Oct 2003 06:40 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (29 Oct 2003 06:44 UTC)
RE: Reasons for withdrawal Anton van Straaten (29 Oct 2003 07:31 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (29 Oct 2003 07:34 UTC)
Re: Reasons for withdrawal Thien-Thi Nguyen (29 Oct 2003 14:08 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (28 Oct 2003 21:28 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (28 Oct 2003 22:02 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (28 Oct 2003 22:22 UTC)
Re: Reasons for withdrawal Jim White (28 Oct 2003 22:15 UTC)
Re: Reasons for withdrawal Shiro Kawai (29 Oct 2003 01:25 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (29 Oct 2003 01:44 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (29 Oct 2003 04:10 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (29 Oct 2003 04:53 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (29 Oct 2003 05:10 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (29 Oct 2003 05:17 UTC)
Re: Reasons for withdrawal Bradd W. Szonye (29 Oct 2003 05:31 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (29 Oct 2003 01:49 UTC)
API conflicts (Was: Re: Reasons for withdrawal) Shiro Kawai (29 Oct 2003 05:48 UTC)
Re: API conflicts Shiro Kawai (29 Oct 2003 06:03 UTC)
Re: API conflicts scgmille@xxxxxx (29 Oct 2003 17:40 UTC)
Re: API conflicts (Was: Re: Reasons for withdrawal) Bradd W. Szonye (29 Oct 2003 06:03 UTC)
Re: API conflicts (Was: Re: Reasons for withdrawal) scgmille@xxxxxx (29 Oct 2003 14:19 UTC)
Re: API conflicts Shiro Kawai (29 Oct 2003 22:25 UTC)
Re: API conflicts scgmille@xxxxxx (29 Oct 2003 22:41 UTC)
Re: API conflicts Taylor Campbell (29 Oct 2003 23:58 UTC)
Re: API conflicts (Was: Re: Reasons for withdrawal) Taylor Campbell (29 Oct 2003 21:40 UTC)
A possible solution? bear (29 Oct 2003 22:59 UTC)
RE: A possible solution? Anton van Straaten (30 Oct 2003 07:40 UTC)
Re: A possible solution? Bradd W. Szonye (30 Oct 2003 10:07 UTC)
RE: A possible solution? bear (30 Oct 2003 15:13 UTC)
Re: A possible solution? scgmille@xxxxxx (30 Oct 2003 15:20 UTC)
Re: A possible solution? Bradd W. Szonye (30 Oct 2003 15:27 UTC)
Re: A possible solution? scgmille@xxxxxx (30 Oct 2003 15:39 UTC)
Re: A possible solution? Bradd W. Szonye (30 Oct 2003 15:43 UTC)
Re: A possible solution? scgmille@xxxxxx (30 Oct 2003 16:11 UTC)
Re: A possible solution? bear (30 Oct 2003 17:02 UTC)
Re: A possible solution? Tom Lord (30 Oct 2003 19:58 UTC)
Re: A possible solution? scgmille@xxxxxx (30 Oct 2003 20:15 UTC)
Re: A possible solution? bear (30 Oct 2003 20:53 UTC)
Re: A possible solution? scgmille@xxxxxx (30 Oct 2003 21:07 UTC)
Re: A possible solution? Taylor Campbell (30 Oct 2003 21:08 UTC)
Re: A possible solution? Bradd W. Szonye (30 Oct 2003 21:11 UTC)
Re: A possible solution? scgmille@xxxxxx (30 Oct 2003 21:17 UTC)
Re: A possible solution? bear (30 Oct 2003 23:11 UTC)
Re: A possible solution? Alex Shinn (31 Oct 2003 03:03 UTC)
Re: API conflicts Shiro Kawai (29 Oct 2003 23:19 UTC)
Re: API conflicts scgmille@xxxxxx (30 Oct 2003 00:26 UTC)
Re: API conflicts Bradd W. Szonye (30 Oct 2003 05:32 UTC)
Re: API conflicts bear (30 Oct 2003 06:22 UTC)
Re: API conflicts Bradd W. Szonye (30 Oct 2003 06:23 UTC)
Re: API conflicts scgmille@xxxxxx (30 Oct 2003 13:54 UTC)
Re: API conflicts Bradd W. Szonye (30 Oct 2003 14:01 UTC)
Re: API conflicts scgmille@xxxxxx (30 Oct 2003 14:16 UTC)
Re: API conflicts Bradd W. Szonye (30 Oct 2003 14:29 UTC)
Re: API conflicts scgmille@xxxxxx (30 Oct 2003 14:58 UTC)
Re: API conflicts Bradd W. Szonye (30 Oct 2003 15:22 UTC)
Re: Reasons for withdrawal Tom Lord (29 Oct 2003 01:50 UTC)
Re: Reasons for withdrawal Alex Shinn (29 Oct 2003 03:06 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (29 Oct 2003 03:18 UTC)
Re: Reasons for withdrawal Tom Lord (29 Oct 2003 03:29 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (29 Oct 2003 03:37 UTC)
Re: Reasons for withdrawal Alex Shinn (29 Oct 2003 06:16 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (29 Oct 2003 14:25 UTC)
Re: Reasons for withdrawal Alex Shinn (30 Oct 2003 02:19 UTC)
Re: Reasons for withdrawal scgmille@xxxxxx (30 Oct 2003 04:42 UTC)
Re: Reasons for withdrawal Alex Shinn (30 Oct 2003 06:22 UTC)

Re: A possible solution? Alex Shinn 31 Oct 2003 02:58 UTC

At Thu, 30 Oct 2003 02:40:52 -0500, Anton van Straaten wrote:
>
> Bear wrote:
> > SRFI-44 does not need to depend on any OO framework or library to get
> > dynamic dispatch based on the collection type.
> ...
> > Therefore consider as a possibility, a vector a few dozen elements
> > long.  Let the first element, at index zero, contain a symbol that
> ...
> > And it'll work.  Immediately.  And it'll be totally clear to
> > everybody how to write collections that this interface can use.
>
> This could make a nice reference implementation.  It's not completely clear
> to me whether you're also suggesting that this should be something that the
> spec requires of implementations, though.  I don't see the need for it in
> implementations that already provide a generic dispatch mechanism - it would
> only add overhead.

Almost insignificant overhead.  Such a portable reference implementation
should not use vectors, or even assume the underlying data structures,
but just use a consistent API for creating types and methods.  The
reference implementation itself could be written using records, but
implementations would be free to define

  (define-collection-type ...)
  (define-collection-method ...)

in terms of their underlying object system as a later optimization,
while still retaining compatibility with future extensions.  This is the
situation with SRFI-9 records.  Many Schemes define records in terms of
their internal OO system (or vice verse) and the SRFI-9 records are just
syntax with practically zero overhead.

Ideally I think inheritable records should be factored out of SRFI-35
and specified clearly in their own SRFI.  The idea has been discussed by
the RnRS authors before:

  http://zurich.ai.mit.edu/pipermail/rrrs-authors/1988-June/000922.html

Then you could specify a separate generic function SRFI which builds on
the inheritable records, and SRFI-44 and future SRFI's could depend on
such minimal dispatch without having to go through the nightmare of
creating a standard Scheme object system.  If you introduce it in pieces
like this it's likely that every single Scheme will implement it, but if
you tell implementors they must use TinyCLOS they'll get defensive and
insist their native OO system is better.

--
Alex