In Scheme, the process of executing an expression is known as evaluation. Evaluation has two kinds of result:
Процесс выполнения выражения в Scheme называется вычислением (evaluation). Процесс вычисления даёт два результата:
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.
Относительно выражений, которые мы встречали до сих пор: define и
set! выражения имеют сторонние эффекты - создание или модификацию переменной, но не
имеют значения. lambda-выражение имеет значние (новосозданную процедуру) но не
имеет сторонних эффектов. Вызов процедуры (в общем случае) имеет или значение, или сторонние эффекты,
или то и другое одновременно.
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.
Соблазнительно попытаться определить более интуитивно-понятно смысл терминов "значение", "сторонние эффекты", попытаться указать на их разлияия. Однако, в общем случае, это весьма сложно. На самом деле это и не нужно, вместо этого мы просто опишем как Scheme исполняет программу. Затем отдельно рассмотрим значение и сторонние эффекты вычисления раздельно для каждого типа выражений.
So, some1 definitions...
Вот некоторые1 определения...
2.3 or a string
"Hello world!"
2.3, "Харо, Генки"
The following subsections describe how each of these types of expression is evaluated.
Ниже приведены подразделы, описывающие как каждый из типов выражений вычисляется.
These definitions are approximate. For the whole and detailed truth, see See R5RS syntax.
Данные определения приблизительные, для исчерпывающего определения см: синтаксис R5RS.
> > далее > >