[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New draft

This page is part of the web mail archives of SRFI 89 from before July 7th, 2015. The new archives for SRFI 89 contain all messages, not just those from before July 7th, 2015.

I have reviewed the comments made on this list and SRFI 88 and have come to the conclusion that a parameter list syntax different from DSSSL may be a more elegant and acceptable way of extending Scheme to support optional and named parameters. My original proposal based on the DSSSL syntax was aimed to ensure that several implementations of Scheme would support a compatible approach for optional and named parameters. However, I have polled the implementors of Scheme implementations which support a DSSSL-like syntax and most of them are willing to consider a cleaner syntax. My goal is thus achievable even if a different syntax is used, as long as most of these Scheme implementors adopt it. The new draft presents an alternate approach which could replace the original proposal if there is consensus. If however this new approach is even more controversial I will revert to the original DSSSL-like syntax.

Donavan Kolbly assured me that the new draft of SRFI 89 will be available on the SRFI web site within a few days. In the meantime you can get it on my web page at:


The new syntax does away with the `#!optional', `#!key' and `#!rest' markers. Instead, a syntax that is inspired from EBNF is used to denote optional parts (square brackets in the parameter list around the optional parameters). Moreover, to reinforce the similarity between the appearance of `defines' and the call site, named parameters are specified in the parameter list by giving both the keyword and the variable corresponding to that parameter. Finally, the approach now supports required named parameters. All the details are given in the SRFI document.