| www.delorie.com/gnu/docs/guile/guile_66.html | search |
![]() Buy GNU books! | |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
In Scheme, the process of executing an expression is known as evaluation. Evaluation has two kinds of result:
Of the expressions that we have met so far, define and
set! expressions have side effects -- the creation or
modification of a variable -- but no value; lambda expressions
have values -- the newly constructed procedures -- but no side
effects; and procedure invocation expressions, in general, have either
values, or side effects, or both.
It is tempting to try to define more intuitively what we mean by "value" and "side effects", and what the difference between them is. In general, though, this is extremely difficult. It is also unnecessary; instead, we can quite happily define the behaviour of a Scheme program by specifying how Scheme executes a program as a whole, and then by describing the value and side effects of evaluation for each type of expression individually.
So, some(2).} definitions...
2.3 or a string
"Hello world!"
The following subsections describe how each of these types of expression is evaluated.
14.3.1.1 Evaluating Literal Data Evaluating literal data. 14.3.1.2 Evaluating a Variable Reference Evaluating variable references. 14.3.1.3 Evaluating a Procedure Invocation Expression Evaluating procedure invocation expressions. 14.3.1.4 Evaluating Special Syntactic Expressions Evaluating special syntactic expressions.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| webmaster donations bookstore | delorie software privacy |
| Copyright © 2003 by The Free Software Foundation | Updated Jun 2003 |