I think we should make a distinction between the API thar R7RS-large will provide and the extensibility of the language by the users.

While for the R7RS-large API, the default value of #f will just be fine and will ease programming with the provided libraries, this does not necessarily mean that we have to prevent users from providing non-"#f" defaults in their own libraries.


Am Di., 3. März 2020 um 12:34 Uhr schrieb Lassi Kortela <xxxxxx@lassi.io>:
[On forcing #f as the default value for all keyword arguments]

> You're right about :insecure, and :use-cli would be fine.  But I still
> think that :cant-double-click-to-zoom or :double-click-no-zoom would
> suck.  :discard-<something> might fly, but just failing to save is not
> the same as actively discarding.

Keyword args really come into their own in very large programs (the size
of Emacs or AutoCAD - would be fun to know whether AutoLisp uses them).
In systems of that size, having a few awkwardly-named arguments is par
for the course.

"cant-double-click-to-zoom" is a drop in the ocean compared to the huge
win of having a simpler core language. The awkward name you only have to
think about when using that procedure. Complex procedure call semantics
you have to think about all day, every day. It feels physically
different to code in a system like Emacs with all-nil semantics you can
rely on (reduced anxiety and reduced cognitive load - not severe of
course, but programming is an endurance sport and little things add up).