On Sun, Nov 3, 2019 at 4:44 PM Lassi Kortela <xxxxxx@lassi.io> wrote:
 
Just flip the sense of the option. E.g. turn `nondestructive?`
(default #t) into `destructive?` (default #f).

That's a clear-cut improvement: you shouldn't bake explicit negation into names, and sometimes there are pairs of names like read-only and read-write so you don't need to.  But if the natural value of a positively expressed argument is #t, then you are out of luck.  I googled for "defaults to true" and found some cases drawn from all sorts of (non-Scheme) applications:  :secure, :use-gui, :save-<something>, :allow-includes, :double-click-to-zoom, :require-force-option.  These all make sense as #t in their contexts, and negating them would IMO make them harder to understand.



John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
The penguin geeks is happy / As under the waves they lark
The closed-source geeks ain't happy / They sad cause they in the dark
But geeks in the dark is lucky / They in for a worser treat
One day when the Borg go belly-up / Guess who wind up on the street.