[r6rs-discuss] [Formal] nothing is said to be safe

From: John Cowan <cowan>
Date: Sat Jan 27 12:07:40 2007

William D Clinger scripsit:

> As defined by this document, the Scheme programming
> language is safe in the following sense: The execution
> of a Scheme 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 said execution first encounters some implementation
> restriction or other defect in the implementation of Scheme
> that is executing the program.
>
> That language would imply that no Scheme program could
> link with unsafe libraries. Another way of putting it
> is that the act of linking with unsafe libraries would
> prevent a program from being a Scheme program.
>
> If that were to become the definition of Scheme programs,
> it would be accurate to say that Scheme programs cannot
> interoperate with C and C++.
>
> If that were to become the definition of Scheme programs,
> then I would not have much interest in Scheme programs,
> and I would certainly not bother to implement the Scheme
> language, as so defined.

Everything you say is trivially true, given the understanding of "Scheme
program" as "program conformant to R5.92RS". A program parts of which are
written in C (or other low-level language) can't possibly be conformant
to R5.92RS; try feeding the C parts to any conformant interpreter or
compiler and see what happens. This is no more bizarre than saying that
a Fortran program part of which is written in Cobol can't conform to any
Fortran standard. No standard can prescribe the behavior of an artifact
that does not claim conformance to the standard. (The ANSI C committee
hashed this out in detail, and came up with two terms, "conforming" and
"strictly conforming"; the latter refers to programs that don't exercise
any of the behavior left undefined by the standard.)

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.

-- 
John Cowan        http://www.ccil.org/~cowan          cowan_at_ccil.org
Please leave your values                Check your assumptions.  In fact,
   at the front desk.                      check your assumptions at the door.
     --sign in Paris hotel                   --Cordelia Vorkosigan
Received on Sat Jan 27 2007 - 12:07:35 UTC

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