Remove property-list file specs from WG1
|Reported by:||cowan||Owned by:||alexshinn|
|Component:||WG1 - Core||Keywords:|
In the current draft, the procedures that open or refer to files use filespecs, which are either strings in R5RS style or else property lists. The latter are more fundamental: the string filespec "foo" is equivalent to the p-list filespec (path "foo"). Property lists allow various options to be specified in addition to the file path.
There are only two uses of p-list filespecs in the current draft: the buffering key, which allows the user to specify whether ports are buffered or unbuffered, and the possibility of an implementation-dependent extension for supporting file paths which are not Scheme strings. (In Posix, a path is really a sequence of 8-bit integers with some restrictions on their values, and in Windows, it's a sequence of 16-bit integers with more restrictions on their values.)
However, it is unclear that either of these is of sufficient importance to support in WG1. Most of the time, buffering is the Right Thing, and when output buffering causes a problem, the flush-output-port procedure can be used to force output to occur. The overwhelming majority of file paths in existence map directly to strings.
This ticket proposes, therefore, that only string filespecs be defined in WG1 Scheme, as in R5RS, and that p-list filespecs be deferred to WG2.