Runtime evaluation: Difference between revisions

Content added Content deleted
Line 1,068: Line 1,068:
Compiled expressions and statements can take arbitrary arguments and return values to the caller. As with any function, the expression or statement being compiled can refer to its arguments using the <tt>#</tt> prefix operator.
Compiled expressions and statements can take arbitrary arguments and return values to the caller. As with any function, the expression or statement being compiled can refer to its arguments using the <tt>#</tt> prefix operator.


An expression always "returns" a value (i. e. evaluates to one) to the caller. Basically, compiling an expression is semantically (and syntactically) equivalent with creating a function with no declared arguments of which the body contains of a single <tt>return</tt> statement, returning the expression.
An expression always "returns" a value (i. e. evaluates to one) to the caller. Basically, compiling an expression is semantically (and syntactically) equivalent with creating a function with no declared arguments of which the body consists of a single <tt>return</tt> statement, returning the expression.


===Evaluating expressions===
===Evaluating expressions===