To me, now the question comes up how to write specifications for SRFIs that want to make use of keyword arguments. There implementation may depend on a specific system like SRFI 177, but the interface should be opaque.
I don't think that's possible. A future SRFI that needs to use keywords could depend on SRFI 177 , and write:
(call/kw example string1 string2 string3 &key :foo number :bar symbol :baz list) -> vector
(This may vary depending on the final form of SRFI 177.)
Alternatively it can depend on SRFIs 88 and 89, and write:
(example string1 string2 string3 foo: number bar: symbol baz: list) -> vector
Or it could say that either can be used depending on which SRFIs are available. But if you want an abstraction over both of them, then I think that SRFI 177 (up to renaming) *is* that abstraction.
John Cowan
http://vrici.lojban.org/~cowan xxxxxx@ccil.orgI should say generally that that marriage was best auspiced, for the
achievement of happiness, which contemplated a relation between a man and a
woman in which the independence was equal, the dependence mutual, and the
obligations reciprocal. --Louis Anspacher (1944)