|
formal arguments to lambdas in Scheme: msg#00022science.types
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> |
|---|---|---|
| Previous by Date: | Argument for less recursion in datatype definitions: 00022, Vaughan Pratt |
|---|---|
| Next by Date: | Further to V.Pratt's reply: 00022, Gavin Wraith |
| Previous by Thread: | Argument for less recursion in datatype definitionsi: 00022, Vaughan Pratt |
| Next by Thread: | Further to V.Pratt's reply: 00022, Gavin Wraith |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |