logo       

formal arguments to lambdas in Scheme: msg#00022

science.types

Subject: formal arguments to lambdas in Scheme

Date: Sun, 19 Mar 89 18:26:01 est
From: bal-wtDPeEpBprpMuWfdjsoA/w@xxxxxxxxxxxxxxxx (Brian A. LaMacchia)
Reply-To: bal-9uuJpEeax1nUYXAv3xksBIdd74u8MsAO@xxxxxxxxxxxxxxxx
Address: MacGregor E121, 450 Memorial Drive, Cambridge, MA 02139
Phone: (617) 225-9210

It turns out that the syntax

(lambda (x . y) <foo>)

is defined in R^3RS (section 4.1.4, page 7). However, a lambda is
formally defined as being of the form

(lambda <formals> <body>)

where <formals> has one of the following forms:

1) (<var_1> ... ) the procedure takes a fixed number of args

2) <var_1> the procedure takes any number of args, and <var_1> is bound
to the list of args passed to the procedure

3) (<var_1> ... <var_{n-1}> . <var_n>) where the first n-1 arguments are
fixed and any remaining args are passed in a list to <var_n>.

In all of these cases, the {\it number} of formals is defined, as a
lambda of the form

(lambda (x . y) <foo>)

has exactly two formals. The actual number of arguments which may be
passed to the lambda is not known (except for a lower bound), but the
formals are known.

Please let me know if there's anything wrong with this. Thanks.

--Brian LaMacchia

bal-9uuJpEeax1nUYXAv3xksBIdd74u8MsAO@xxxxxxxxxxxxxxxx
---------------------------------------
Sounds just right.

Regards, A.




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise