www.delorie.com/gnu/docs/guile/guile_66.html   search  
 
Buy GNU books!


Guile Reference Manual

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

14.3.1 Evaluating Expressions and Executing Programs

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

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     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003