Lists and Expressions
An expression is something that can be evaluated. The first section of the chapter, “Name Resolution” in the “JSL Building Blocks” chapter
, discussed how JMP evaluates expressions. Now you must consider when
JMP evaluates expressions.
JMP tends to evaluate things as soon as it possibly can, and it returns a result. If an expression is on the right side of an assignment, the result is what is assigned. Usually, that is what you want and expect, but sometimes you need to be able to delay evaluation.
Quoting and unquoting expressions
The operators to control when expressions are evaluated are Expr and Eval, which you should think of as the procrastination and eager operators. Expr just copies its argument ...