[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
199.7
The v200-tagged code in CVS for MzScheme and MrEd is now version 199.7.
Changes:
* The `process', `process*', `process/ports', `process*/ports',
`system', and `system*' procedures have been moved to a new MzLib
library, "process.ss".
MzScheme's new built-in form is `subprocess', which takes the same
arguments as `process*/ports'. It returns four values: a subprocess
value, an input port or false (the subprocess's stdout, if one was
created), an output port or false (the subprocess's stdin), and an
input port or false (the subprocess's stderr). The new
`subprocess-status' procedure gets the status or return code of the
subprocess, and `subprocess-pid' gets its process id.
The `process', etc. procedures are implemented in terms of
`subprocess'. Consequently, old bugs and gaps in support (especially
for Windows) have been eliminated.
The `execute' and `execute*' procedures were eliminated entirely.
These changes are based on code from Eli Barzily.
* Added a 'gl style flag to canvas%, for use with extensions that draw
to the current OpenGL context. The canvas% class also has two new
methods: `with-gl-context' and `swap-gl-buffers'. The 'gl style is
only supported in Windows for now.
The OpenGl support is based on code from Greg Pettyjohn and the
current wxWindows distribution.
* Added an experimental "infix" conversion in the reader.
Input of the form
(left ...1 . mid . right ...1)
is read as
(mid left ...1 right ...1)
I.e., a pair of dots between a pair of parens triggers the reader's
"infix" conversion.
For example, the input expression
(99 . < . 100)
produces #t.
Also,
(1 2 3 . + . 4 5)
produces 15, because the "infix" conversion requires a single
element between the dots, but allows any positive number of elements
to the left and right of the dots.
Perhaps unfortunately, the input expression
((x) . lambda . x)
produces the identity function, because the infix conversion is
performed by the reader.
* Added a `struct' form for `provide'.
* Added `fluid-let-syntax'.
* Normalized source location reporting (for reader errors, syntax
errors, and procedure names), and added source-location info to the
reader exceptions.
* Changed the C hash-table interface; documentation to appear.
Temporary MzScheme and MzLib documentation is in the usual place:
http://www.cs.utah.edu/~mflatt/tmp/mzscheme.pdf
http://www.cs.utah.edu/~mflatt/tmp/mzlib.pdf
Matthew