Am So., 20. Okt. 2019 um 23:19 Uhr schrieb Shiro Kawai <xxxxxx@gmail.com>:
(Thinking of parameter objects... what can keyword arguments do what
parameter objects and parameterize cannot already do?)
You can emulate keyword arguments with parameterize but it'll be super awkward.
Suppose f and h takes both test: argument, with the same meaning.
f also takes a procedure and call it without arguments.
If we say (f h test: equal?), we know f is called with test: eqv?, and h is called without arguments so
it uses whatever the default value of test: argument.
Using parameterize, we need to do
(parameterize ((test equal?))
(f (lambda () (parameterize ((test <the default value of test>))
(h)))))