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: |