> If we use the syntax of SRFI 177 to write the specification of another > SRFI (as opposed to merely using SRFI 177 to implement the other SRFI), > that other SRFI will be tied to SRFI 177's syntax, won't it? (Whatever > the final syntax of SRFI 177 will be.) In a sense it will. But SRFI 177 is specified to be compatible with other keyword systems, users of 177 won't be tied to 177. If SRFI nnn defining keywords procedures is implemented using another keyword system (compatible with 177), and callers call SRFI nnn's procedures using that keyword system instead of 177, nobody should notice a difference. Nevertheless, I still agree with you that a minimal contract for the keyword interface sounds better (according to my current, imperfect understanding of the issues) than a direct dependency on 177. > There is a possibility that R7RS-largw will finally allow a superior > syntax for keyword arguments (e.g. by "overloading" lambda or by having > SRFI 88-like keywords so that we don't need the call/kw macro, etc.). > Thus, there would have to be a clear way how to map one keyword system > to another one. Absolutely. Sorry for the silence for a day or two on the rest of this thread. I'm trying to wrap my brain around how hygiene ties into this; probably need to write some code to explore it. Thanks for your many explanations of the topic. They are extremely helpful.