(0) Expression
...is a frequently used suffix or prefix keyword modifier.
Pattern[Expression] matches any Expression.
Expression[Cardinal][expr] returns the ExpressionSize.
Expression[Branch][expr] returns the ExpressionBranch structure.
See English definition of "expression".
The keyword "Expression" is a PatternForm. Specifically, Pattern[Expression] matches any Expression.
An Expression is anything which can be parsed into a Name (without arguments), or a Name, followed by square brackets containing a Sequence of arguments, which are themselves Expressions.
Every interpretable String is an Expression. See ReckonString.
The contents of the bracket pair ( "["... "]") furthest to the right is called an Expression's argument sequence.
Everything to the left of the Expression's argument is regarded as the Head.
An Expression with some depth contains subExpressions which are also Expressions. A subExpression may be an argument or part or all of the Head of the containing Expression.
The evaluation of an Expression starts with the evaluation of its Head, followed by the evaluation of each of the arguments, proceeding from left to right. This progressive and systematic evaluation of the subExpressions in an Expression defines an ExpressionBranch.
If expr is any valid Expression, then...
(1) Expression[Cardinal][expr]
...returns the number of bytes used to store expr.
ExpressionAtoms are so named because they are irreducible Expressions or basic Types.
All but the simplest Expressions have structured trees with ExpressionAtoms at the extremes.
Each such ExpressionAtom-leaf has a SlotPosition. An Expression[Branch] is a Sequence of ExpressionAtoms each parameterized by their respective SlotPosition in the origin Expression.
An Expression's branch structure is represented as a Sequence of ExpressionAtoms. Each ExpressionAtom is packaged with a SlotSpecification giving its position in the containing Expression.
(2) Expression[Branch][expr]
...returns expr's branch structure.
Invoking (2) should have no effect on the environment. (No residual assignments are made.)
If expr is an Expression, or a String which can be interpreted as an Expression, then (2) returns a Sequence like the following...
(3) ...ExpressionAtom[slotSpecs]...
...where each element has a Head composed of an ExpressionAtom.
The slotSpecs specify the ExpressionAtom's position in the containing Expression.
The ExpressionAtom Sequence in (3) is listed in the order it will be processed when Reckoned.
In (2), "expr" is reduced to its branch structure without anything being elicited.
ExpressionAtoms are so named because they are irreducible Expressions or basic Types.
An ExpressionAtom Head is a Grok32` Keyword, or an element in Type[Name].
If the ExpressionAtom is an element in Type[Name], then its Head may also include binary data (as its bracketed argument).
Being an element in Type[Name] means the ExpressionAtom Head is (String | Cardinal | Real | Name | Compile), or a user-defined Type. The ExpressionAtom may also have (signature) binary data in the adjoined bracketed argument.
Generally, when (2) returns Grok32` keywords, they are ExpressionAtoms without arguments, (or with one coded argument). Each of these ExpressionAtoms has an attached suffix which is its SlotSpecification.
A leaf is a subExpression such that True[leaf ] tests True.
In other words, a leaf is a simple, unchanging subExpression.
(3) is the Sequence of leafs (with [slotSpecs] appended) that fully specifies expr.
All leafs are ExpressionAtoms because they are irreducible Types.
expression n.
1. An act or product of pressing out.
2. a Act or process of representing or making manifest, esp. by language; manifestation, as of feeling; utterance, as of thought; as, an expression of opinion or sympathy.
b Specif., manifestaiton or conveyance, as of an emotion, in words or some other medium, sometimes in action; as, his genius finds expression in plastic arts.
The habit of expression leads to the search for something in express. Henry Adams
3. A form, pose, phrase, token, or the like, which manifests or symbolizes a thought, feeling, character, or quality; a sign or symbol; esp., a significant word or phrase; as, a common expression; an odd expression.
4. Mode, means, or use of significant representation or symbolism; as, dignified expression in writing; study of expression in art; esp., happy or vivid indication or mood or sentiment; as, to read or act with expression.
[Shakespeare's] wonderful power of expression. M. Arnold
5. Quality or fact of being indicative of character, feeling, mood, or sentiment; also, phase of mood, feeling, sentiment, or the like, expressed; facial aspect of intonation as indicative of feeling; as, a smiling expression.
6. Math. A group of characters or signs, esp. algebraic symbols, representing a quantity or operation.
7. Music. In a composition or its performance, the use of such means as structural details of harmony and rhythm and the selection of timbres together with variations in tempo and dynamics, designed to reveal the intention and feeling of composer or performer.
Syn. --Representation, delineation, show; statement.
[From Websters1949Unabridged.]
© 2004-2007
by John Van Wie Bergamini.
All rights reserved.