Re: importing srfi-101 David Van Horn 17 Sep 2009 20:22 UTC

Aubrey Jaffer wrote:
>  | Date: Thu, 17 Sep 2009 13:50:12 -0400
>  | From: David Van Horn <xxxxxx@cs.brandeis.edu>
>  |
>  | Aubrey Jaffer wrote:
>  | > http://srfi.schemers.org/srfi-101/srfi-101-tests.sls contains an
>  | > import statement:
>  | >
>  | > ... What would be the import statement to have all the standard
>  | > identifiers imported, excepting the list-related ones, which
>  | > would come from srfi-101 (with their standard names)?
>  |
>  | It would be:
>  |
>  | (import (except (rnrs base) cons car cdr ...etc...)
>  |          (prefix (only (rnrs base) null?) r6:)
>  |          (rnrs exceptions)
>  |          (srfi :101))
>
> I think having SRFI-101 shadow R6RS identifiers is the most common way
> that SRFI-101 would be used.  As it stands now, every prospective user
> must pour through the SRFI-101 specification to create the list of all
> the identifiers it binds.  This duplication of effort serves no
> purpose.  Please add a complete import statement (replacing ...etc...)
> to the text of SRFI-101 as an example of use.

Thanks for the suggestion.  I'll incorporate this into the next
revision.  As a convenience, I can just provide a library that is (rnrs
base), except for the list stuff, which will come from (srfi :101), plus
all the added bindings, like list-set, etc.

That brings up another issue.  Should this SRFI provide a `quote' form
that produces random-access pairs?  Should this SRFI provide
`vector->list', `list->vector', and so on, for all the things in the
R6RS base library that consume or construct lists?  Should a definition
of `equal?' be given that works as you would expect for random-access pairs?

David