net@tub.UUCP (Oliver Laumann) (08/20/90)
I just noticed that the procedures with-input-from-file and with-output- to-file are in the draft R^3.99RS, but not in the P1178/D4 (the version from March 7, 1990). Is this omission intended? If so, why? Thanks, -- Oliver Laumann net@TUB.BITNET net@tub.cs.tu-berlin.de net@tub.UUCP
cph@ZURICH.AI.MIT.EDU (Chris Hanson) (08/21/90)
Date: 20 Aug 90 11:48:43 GMT
From: Oliver Laumann <mcsun!unido!fauern!tub!net@uunet.uu.net>
Organization: Technical University of Berlin, Germany
Sender: scheme-request@mc.lcs.mit.edu
I just noticed that the procedures with-input-from-file and with-output-
to-file are in the draft R^3.99RS, but not in the P1178/D4 (the version
from March 7, 1990). Is this omission intended? If so, why?
Thanks,
--
Oliver Laumann net@TUB.BITNET net@tub.cs.tu-berlin.de net@tub.UUCP
From "Differences between R4RS and Proposed IEEE standard", January
27, 1989:
* The following procedures have an ill-defined semantics in the
presence of the escape procedures produced by
call-with-current-continuation. In addition, we have two other
mechanisms for opening files (open-{in,out}put-file,
call-with-{in,out}put-file) rendering these unnecessary.
A further complication is that these procedures bundle the action of
opening a file with the (separate) action of binding the default
(input or output) port. In R4RS there is no orthogonal mechanism for
binding the port; we propose such a mechanism (via
with-input-from-port and with-output-to-port below) and suggest
removing these "bundled" versions. A reference implementation of
these procedures is provided in an appendix.
with-input-from-file
with-output-to-file
From "IEEE/MSC/P1178 Working Group on Scheme: Unapproved Minutes of
Meeting", 3 February 1989:
6.4 WITH-INPUT-FROM-FILE and WITH-OUTPUT-TO-FILE.
The editors proposed replacing WITH-INPUT-FROM-FILE and
WITH-OUTPUT-TO-FILE with WITH-INPUT-TO-PORT and WITH-OUTPUT-TO-PORT,
respectively, since this made the dynamic binding of ports orthogonal
to the opening of files.
However, there was substantial concern that the semantics of any dynamic
binding mechanism was ill-defined in the presence of escape
procedures.
Moved, seconded, and approved: delete WITH-INPUT-FROM-FILE and
WITH-OUTPUT-TO-FILE, and do not add WITH-INPUT-FROM-PORT or
WITH-OUTPUT-TO-PORT.