Scheme/Procedures: Difference between revisions
Jump to navigation
Jump to search
(Created page with '== Lambdas == * Can also be viewed as anonymous procedures. * Has the following syntax: <pre>(lambda <args> <expressions>)</pre> where <expressions> is one or more, well, express…') |
No edit summary |
||
Line 8: | Line 8: | ||
* '''(var[1] var[2] ... )''' - specifies a fixed number of arguments. | * '''(var[1] var[2] ... )''' - specifies a fixed number of arguments. | ||
* '''(var[1] var[2] ... . var[n])''' - a space-delimited period before the final argument specifies the remaining args (if any) to be put into a list under that variable. | * '''(var[1] var[2] ... . var[n])''' - a space-delimited period before the final argument specifies the remaining args (if any) to be put into a list under that variable. | ||
== Lexical Scoping == | |||
=== fluid-let === | |||
Modifies ''existing global variables'' instead of introducing new lexical ones. Values are reset at the end of the expression. |
Revision as of 22:07, 2 April 2011
Lambdas
- Can also be viewed as anonymous procedures.
- Has the following syntax:
(lambda <args> <expressions>)
where <expressions> is one or more, well, expressions. Only the last expression's value is returned.
<args> is your variable definitions, which can take the following forms:
- var - all arguments are put into this single variable.
- (var[1] var[2] ... ) - specifies a fixed number of arguments.
- (var[1] var[2] ... . var[n]) - a space-delimited period before the final argument specifies the remaining args (if any) to be put into a list under that variable.
Lexical Scoping
fluid-let
Modifies existing global variables instead of introducing new lexical ones. Values are reset at the end of the expression.