Re: R7RS-large backward compatibility
Lassi Kortela 05 Mar 2020 19:51 UTC
> To me, now the question comes up how to write specifications for
> SRFIs that want to make use of keyword arguments.
This is the top question on my mind as well :)
> There implementation may depend on a specific system like SRFI 177, but
> the interface should be opaque.
Enthusiastically agreed.
> I don't think that's possible.
Please elaborate on the reason. Would we run into problems if we tried
to specify a super-minimal contract about what guarantees present and
future keyword systems provide to help SRFI writers?
> 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.
This is all very interesting. I don't yet understand all the
implications. I'll wait for more comments from you and others which will
hopefully alleviate my confusion and inexperience a bit.