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

Re: [Scheme-reports] comments on draft 6: Libraries and Relationship of small/large lang

Kun Liang scripsit:

>     Following is my viewpoint. Small language should define all the
> "core" syntax and primitives. These will keep stable for a long period
> of time.  Large language is just a small language with a much bigger
> set of standard libraries.

I personally agree with you, but as chair of WG2, I must say that until
WG2 has done its work it would be premature to say that.

>     In this sense, I think that we do not need to seperate the
> functions or values (in draft 6) into several libraries. If they
> were essential, we can just put them into a single library like
> (scheme lang) or (scheme base), and import this library in every
> scheme program by default. Any thing that not essential (purely for
> compatibility with r5rs) should be place into a seperate library like
> (scheme r5rs), will be removed in future.

First of all, the base library is not about what is essential.  `Length`
and `map` are not essential; indeed, they can be expressed clearly
enough in Scheme, and usually are.  The base library contains the
procedures and syntax that a Scheme programmer would expect to find
available, plus some that are called into existence by symmetry, such as
`vector-map` and `string-map`.

Second, the distinction you are making is insufficiently flexible.  For
example, non-real numbers are optional in both R5RS and R7RS.  If you
don't have complex numbers, there is no point in having make-complex
and magnitude and phase, and R5RS says so in the text of the document.
In R7RS, this notion of optionality is made explicit by putting the
complex-number procedures into a module that implementations without
complex numbers need not provide.  In other cases, a very small Scheme
may not wish to provide read or write/display at run time, because there
is no need for I/O of general Scheme objects, and so putthing them in a
module makes sense.

First known example of political correctness:   John Cowan
After Nurhachi had united all the other         http://www.ccil.org/~cowan
Jurchen tribes under the leadership of the      cowan@x
Manchus, his successor Abahai (1592-1643)
issued an order that the name Jurchen should       --S. Robert Ramsey,
be banned, and from then on, they were all           The Languages of China
to be called Manchus.

Scheme-reports mailing list