Re: Reawakening keywords Marc Nieper-Wißkirchen 02 May 2020 19:33 UTC

Am So., 26. Apr. 2020 um 00:02 Uhr schrieb John Cowan <xxxxxx@ccil.org>:

[...]

> If it can, well and good.  But it can't always: (let ((bar (read)) (foo 10 bar 20)) is an obvious counterexample.  Type analysis is one thing: dataflow analysis is quite another matter.

Sure. But when I write such code, I won't expect the compiler to
optimize away the keyword handling. :-)

By the way, your example demonstrates nicely the difference between
the Racket/Kawa model and the CL model (whether with special keyword
objects or just symbols, which already work now): In the Racket/Kawa
model procedure calls with keywords can already be handled at the
syntactic level; on the other hand, this model makes it harder to
handle keywords at runtime (think of APPLY or your example where the
keyword is READ) and needs special procedures like Racket's
keyword-apply.

[...]

Marc