Just for the sake of completeness, we get to five if you count R, which allows one to intersperse positional and named parameters in a remarkably laissez-faire manner. It's not exactly a general-purpose language, though. | [reply] |
| [reply] |
I believe that keyword arguments are considered an extension. Still, that is implemented, so I defer.
Assuming you're talking about Common Lisp, keywords alone and keywords as argument specifiers are AFAIK both required parts of the spec, not just optional extensions. Other Lisp dialects can and do have different ideas - the only other relatively widely used Lisps, these days, are Scheme and Emacs Lisp (which both don't have keyword args).
| [reply] |
I drew the inference from this page which carries the title (See your browser title bar), of "Common Lisp Extensions".
I defer because I've no idea when that page was current and if it has been superceded. And because I know very little about Lisp. What little I've ever done was done a long time ago. I've played with Scheme more recently, but that's chalk and cheese.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
Ah I see. That page describes the common lisp package for Emacs Lisp. IOW while keywords are an extension to Emacs Lisp provided by the cl package, they're still a required part of the Common Lisp standard.
| [reply] |