This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.
Source for wiki LetSettingsKendal version 2
author
cowan
comment
ipnr
173.13.139.236
name
LetSettingsKendal
readonly
0
text
SettingsListsCowan is nice, but would be even better with some syntax for using settings lists in
one's own procedures, perhaps:
`(let-settings (`''keywords''` `''settings-list''`) . `''body''`)`
where ''keywords'' is a list of symbol names to extract from the ''settings-list'',
which will be bound to the named values in the current environment. The
`open-input-process` procedures from ProcessPortsCowan might then be defined thus
for the case where their ''filename'' argument is a list:
{{{
(define (open-[input|output|input/output]-process filename)
(let-settings ((path arguments environment
stdin-redirection stdout-redirection) filename)
...
(execvp path arguments environment) ; or whatever
...))
}}}
(It could be written in terms of a `call-with-settings` procedure, of course.)
== Issues ==
How does one tell if a key is not present? Bind to `#f`? Bind to a default specified as a third value? Ideally, each key should have its own default, but that may be too heavyweight. --JC
time
2013-03-15 23:56:02
version
2