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.