[r6rs-discuss] [Formal] nothing is said to be safe
I am posting this as an individual member of the Scheme
community. I am not speaking for the R6RS editors, and
this message should not be confused with the editors'
eventual formal response.
John Cowan wrote:
> This in no way means that R5.92RS Scheme implementations should accept
> only programs conformant to R5.92RS. In practice, a language that can't
> do interlanguage linking of some kind is on a death spiral.
If by "this" you mean either the v5.91 draft or the
comments on this matter made by you and by Tom Lord,
then I agree. If by "this" you mean section 4.5 of
the v5.92 draft, then I disagree.
Let me explain the problem in more detail. When the
editors removed the declarations of v5.91 in response
to formal comments, they agreed that implementations
"may provide access to unsafe libraries, and may provide
other implementation-specification facilities that cannot
guarantee safety." (See the official responses to formal
comments #64, #77, and #128.)
What that would have implied, had v5.92 been consistent
with the official responses to those comments, is that
implementations would be allowed to provide an unsafe
mode in their compilers via some command-line switch or
other mechanism that does not even show up in the text
of a program. Whether a program is safe would thus be
a property of how the program was compiled, not of the
program text itself.
If all Scheme programs are safe, which Mike declared to
be the consensus position of the editors, then whether
a program is a Scheme program would therefore depend
upon how it is compiled. An interpreted program might
be a Scheme program, but might cease to be a Scheme
program if it were to be compiled using the very same
implementation's compiler. That seems strange to me.
I would prefer a specification for which the Scheme-ness
of a program is a static property of the program text,
even if that static property is undecidable.
As it happens, however, the v5.92 draft is not consistent
with the official responses to formal comments #64, #77,
and #128. Furthermore the v5.92 specification is not
implementable at all, for other reasons that interact
with this issue; it is not yet clear how those issues
will be resolved; the way in which they are resolved is
likely to matter. Hence it is hard for us to discuss
specifics at this time. It already seems clear that we
will have to repeat this conversation when v5.93 comes
out, which is kind of discouraging.
Will
Received on Sun Jan 28 2007 - 14:17:51 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:01 UTC