[r6rs-discuss] [Formal] SRFI-39 should be made an R6RS library

From: John Cowan <cowan>
Date: Fri Feb 9 02:40:48 2007

Michael Sperber scripsit:

> That's a pretty incomplete characterization of the discussion: Since
> the semantics includes mutation, an eventual (bad) interaction with
> threads is inevitable.

Mutation and threads *never* interact well, but Scheme is full of
mutation: if it didn't have mutation, it would be Erlang or something.
Consequently, whoever is going to implement threads in Scheme must
make many decisions about the behavior of threads, and the decision
about parameters is just another of them.

> Moreover, the interface for parameters is bizarre. Some elaboration
> on that argument can be found at:
>
> http://srfi.schemers.org/srfi-39/mail-archive/msg00017.html

Quite so. I think however that Marc Feeley's reply is very much
to the point:

# I agree that the API of parameters is not abstract, and that this
# could be improved with separate procedures (or syntax) for creation,
# mutation, reading and binding of dynamic variables. I did not propose
# this because of the convergence by many implementations to the
# "parameters" API and I wanted to place minimal burden on
# implementors/users of this API.

The agreement has only become better since. There is a great deal to
be said for standardizing what has proved itself in practice,
rather than standardizing novelties that may or may not turn out
to be the Right Thing.

> > The reason for making parameters part of the standard, beside their
> > general utility, is that they are intertwingled with the current-*-port
> > facilities, which are explicitly specified as parameters by SRFI-39.
> > As a result, it is hard to load a portable implementation of parameters
> > into a Scheme that doesn't have it; current-*-port cannot be rebound
> > by parameterize correctly.
>
> That seems to be a defect of SRFI 39, and hardly sufficient reason to
> force it into the standard.

Why a defect? Why should the R5RS dynamic environment and the
SRFI-39 dynamic environment be separate and distinct? That
makes no sense to me at all.

A side effect of making parameters part of the library is that
(current-*-port port) would be added.

-- 
Long-short-short, long-short-short / Dactyls in dimeter,     John Cowan
Verse form with choriambs / (Masculine rhyme):           cowan_at_ccil.org
One sentence (two stanzas) / Hexasyllabically
Challenges poets who / Don't have the time.     --robison who's at texas dot net
Received on Fri Feb 09 2007 - 02:40:40 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC