[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Scheme-reports] Ratification vote for R7RS-small
- To: scheme-reports@x
- Subject: [Scheme-reports] Ratification vote for R7RS-small
- From: Göran Weinholt <goran@x>
- Date: Fri, 10 May 2013 16:28:51 +0200
Full name (required): Göran Weinholt
Location (optional): Göteborg, Sweden
Contact details (optional):
Statement of interest (not required if you registered for the
R6RS ratification or the 2009 Steering Committee election):
I am the developer of Industria, a sizeable collection of portable
Scheme libraries. Most of my libraries are of the type for which any
sensible person instead would have used an FFI interfacing with
(inevitably insecure) C code. It is thanks to R6RS that I've been able
to write Industria in pure Scheme and I would not even have attempted it
armed only with R5RS implementations. I have an interest in the Scheme
programming language continuing to go in a certain direction; towards a
place where programs are inherently safer, more amenable to analysis and
optimization and where code is portable between implementations.
Vote (required): no
My rationale is partly technical, partly social. To keep it short I will
only include one point from each. First the technical part. These
paragraphs are from R6RS:
"The standard libraries whose exports are described by this document
are said to be safe libraries. Libraries and top-level programs that
import only from safe libraries are also said to be safe.
"As defined by this document, the Scheme programming language is safe
in the following sense: The execution of a safe top-level program
cannot go so badly wrong as to crash or to continue to execute while
behaving in ways that are inconsistent with the semantics described in
this document, unless an exception is raised."
Contrast that with this paragraph from R7RS-small draft 9:
"For example, it is an error for a procedure to be passed an argument
of a type that the procedure is not explicitly specified to handle,
even though such domain errors are seldom mentioned in this report.
Implementations may signal an error, extend a procedure's domain of
definition to include such arguments, or fail catastrophically."
Formalising catastrophic failure as an acceptable evaluation strategy is
not a good idea. I also believe it conflicts with this requirement from
the WG1 charter: "Semantics compatible with interactive read/eval/print
loops should be provided."
Now for the social part of my rationale. This paragraph is from
"Editor's note: This report records the unanimous decisions made
through a remarkable spirit of compromise at Brandeis, together with
the fruits of subsequent committee work and discussions made possible
by various computer networks. I have tried to edit these into a
coherent document while remaining faithful to the workshop's decisions
and the community's consensus. I apologize for any cases in which I
have misinterpreted the authors or misjudged the consensus."
Contrast that with the equivalent paragraph from draft 9:
"Note: The editors of the R5RS and R6RS reports are listed as authors
of this report in recognition of the substantial portions of this
report that are copied directly from R5RS and R6RS. There is no
intended implication that those editors, individually or collectively,
support or do not support this report."
This note shows that there is something broken in the Scheme community
and it has affected the report. Ratifying draft 9 does nothing to fix
Göran Weinholt <goran@x>
"Alone tonight just like the western star, I'm sinking.
The angels curse me blind with straight and crooked thinking."
-- Above & Beyond - Alone Tonight
Scheme-reports mailing list