Re: [Scheme-reports] libraries
John Cowan 20 May 2013 17:35 UTC
(Copied to ticket #536)
Michael Montague scripsit:
> Having different keywords harms scheme users who want to write
> portable libraries. Today, a scheme user who wants to write
> portable libraries has to make a choice: use R6RS library or R7RS
> define-library.
In R7RS, at least, it's possible to segregate the code from the library
declarations. R6RS systems that support `include` can do that too, or you
can write `include` as a syntax-case macro. There's a sample definition
in R6RS section 12.6[1]. This also allows you to use the code on a pure
R5RS system with no modules, or (as my sample implementations do) on an
R5RS system like Chicken with its own module system.
> Change to the same keyword, and the scheme user has a way to write
> portable libraries that work on as many scheme systems as possible now
> and into the future, including current R6RS systems and future R7RS
> systems.
Well, the WG will consider the question. It's been treated as a
bikeshed issue so far. See #102[2] and the second ballot[3], where
we chose `module`, and the fourth ballot[4], where we changed it to
`define-library` to be closer to R6RS without colliding with it.
> The second sentence of the Charter for working group 1 is "The purpose
> of this work is to facilitate sharing of Scheme code." I believe this
> is a way to increase the sharing of Scheme code.
>
> The base library problem is solvable. For instance, R7RS has the
> library (scheme r5rs). Since R6RS is based on R5RS, it should be easy
> to provide the same library on those systems.
I don't expect that R6RS users will tend to restrict themselves to the
R5RS part of the system, though.
[1] <http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-13.html#node_sec_12.6>
[2] <http://trac.sacrideo.us/wg/ticket/102>
[3] <http://trac.sacrideo.us/wg/wiki/WG1Ballot2>
[4] <http://trac.sacrideo.us/wg/wiki/WG1Ballot4>
--
John Cowan cowan@ccil.org http://ccil.org/~cowan
And now here I was, in a country where a right to say how the country should
be governed was restricted to six persons in each thousand of its population.
For the nine hundred and ninety-four to express dissatisfaction with the
regnant system and propose to change it, would have made the whole six
shudder as one man, it would have been so disloyal, so dishonorable, such
putrid black treason. --Mark Twain's Connecticut Yankee
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports