Next: Assignments, Previous: Dynamic Binding, Up: Special Forms [Contents][Index]
Definitions are valid in some but not all contexts where expressions are
allowed. Definitions may only occur at the top level of a program and
at the beginning of a lambda body (that is, the body of a lambda,
let, let*, letrec, fluid-let, or “procedure
define” expression). A definition that occurs at the top level
of a program is called a top-level definition, and a definition
that occurs at the beginning of a body is called an internal
definition.
In the second form of define (called “procedure
define”), the component formals is identical to the
component of the same name in a named-lambda expression. In
fact, these two expressions are equivalent:
(define (name1 name2 …) expression expression …)
(define name1
(named-lambda (name1 name2 …)
expression
expression …))
| • Top-Level Definitions | ||
| • Internal Definitions |