Scheme/Procedures

From Noisebridge
< Scheme(Difference between revisions)
Jump to: navigation, search
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.
 
+
<br />
 
== Lexical Scoping ==
 
== Lexical Scoping ==
 
=== fluid-let ===
 
=== fluid-let ===
 
Modifies ''existing global variables'' instead of introducing new lexical ones. Values are reset at the end of the expression.
 
Modifies ''existing global variables'' instead of introducing new lexical ones. Values are reset at the end of the expression.

Revision as of 22:13, 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.

Personal tools