Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!pt.cs.cmu.edu!rochester!daemon From: miller@CS.ROCHESTER.EDU (Brad Miller) Newsgroups: comp.lang.lisp Subject: Re: optional and key arguments Message-ID: <1989Aug28.174220.23409@cs.rochester.edu> Date: 28 Aug 89 17:42:20 GMT Sender: daemon@cs.rochester.edu (Old Scratch) Organization: University of Rochester Computer Science Department Lines: 18 Since optional arguments are evaluated first, c is bound to :d, and 0 isn't a key argument. Is this the Common Lisp standard? Yes; for a detailed description, read page 61 of CLtL, and the copious examples on pgs. 63-65. If so, does it make sense? How else could you do it? (for generality, remember to handle the case of two optional args, the first of which expects an argument of type keyword) If you *really* want the effect of both, try not specifying either optional or keyword args, but &rest only, and then process it yourself according to any arcane rules you like... or write your own version of Defun (Defunny?) that handles the lambda list for you by your own rules... and having a sample implementation is 50% of getting something into the standard. Are we having fun yet? :-)