Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10 5/3/83; site umcp-cs.UUCP
Path: utzoo!linus!philabs!cmcl2!seismo!rlgvax!cvl!umcp-cs!chris
From: chris@umcp-cs.UUCP
Newsgroups: net.lang.lisp
Subject: Re: Optional Arguments in Franz Lisp
Message-ID: <7420@umcp-cs.UUCP>
Date: Fri, 8-Jun-84 07:52:15 EDT
Article-I.D.: umcp-cs.7420
Posted: Fri Jun  8 07:52:15 1984
Date-Received: Sat, 9-Jun-84 07:44:39 EDT
References: <2511@allegra.UUCP> <3033@brl-tgr.ARPA>
Organization: Univ. of Maryland, Computer Science Dept.
Lines: 21

As I understand it [and I only dabble in Franz occasionally so don't
take this TOO seriously],

    (defun f (&optional ...

makes some optional arguments, with [again optional] default values
if said optional arguments are not passed.

    (defun f (&optional (x nil) (y 'foo)) ...

should make ``x'' bound to the first argument if any, nil if none,
and ``y'' bound to the second argument if any, or 'foo if none.
[It may also be written as ``(&optional x (y 'foo))''.]

As far as I know, &optional must come after all the non-optional
arguments, not be used twice, and not be used in conjunction with
&rest.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci (301) 454-7690
UUCP:	{seismo,allegra,brl-bmd}!umcp-cs!chris
CSNet:	chris@umcp-cs		ARPA:	chris@maryland