Am Di., 3. März 2020 um 16:52 Uhr schrieb Lassi Kortela <xxxxxx@lassi.io>:
> As far as I have understood SRFI 177, we have positional arguments
> and keyword arguments and both are disjoint.  There is nothing like
> superfluous keyword arguments.  So superfluous position arguments can
> get into a rest list argument and this is completely orthogonal to
> keyword arguments.

That's correct in principle. However, the situation is complicated by
the fact that 177 has to run on lots of Schemes that don't have native
keyword arguments. In that case we use the rest argument as a plist of
the keyword arguments. This is done so that ordinary `apply` and
procedure call syntax can be used to portably call a keyword lambda in
the case where no keyword arguments are passed to it, only positional args.

Your idea of a `parameterize`-based implementation would allow the rest
argument to be used for positional arguments even in these Schemes.
However, in my experience these fancy lambda-list features mainly lead
to confusing code, so I'd like to keep 177 simple and not have it

What do you exactly mean by "fancy lambda-list" features? Remember that my soul hasn't been tainted by CL yet. :)

If you really want to exclude this from SRFI 177, you should reword the reasoning as it really has nothing to do with technical limitations as the parameterize example shows.

dictate anything about rest arguments. In practice, call/kw from 177 can
be used to call procedures that take both keyword args and a positional
rest arg, in Scheme implementations that make the distinction and parse
keywords specially. lambda/kw doesn't let you define such procedures,
but other, compatible systems may.