Content deleted Content added
Maxeto0910 (talk | contribs) m no sentence |
m caps |
||
Line 44:
Even programs may be considered and represented as expressions with operator "procedure" and, at least, two operands, the list of parameters and the body, which is itself an expression with "body" as an operator and a sequence of instructions as operands. Conversely, any mathematical expression may be viewed as a program. For example, the expression {{math|''a'' + ''b''}} may be viewed as a program for the addition, with {{math|''a''}} and {{math|''b''}} as parameters. Executing this program consists in ''evaluating'' the expression for given values of {{math|''a''}} and {{math|''b''}}; if they are not given any values, the result of the evaluation is simply its input.
This process of delayed evaluation is fundamental in computer algebra. For example, the operator "=" of the equations is also, in most computer algebra systems, the name of the program of the equality test: normally, the evaluation of an equation results in an equation, but, when an equality test is needed, either explicitly asked by the user through an "evaluation to a Boolean" command, or automatically started by the system in the case of a test inside a program, then the evaluation to a
As the size of the operands of an expression is unpredictable and may change during a working session, the sequence of the operands is usually represented as a sequence of either [[Pointer (computer programming)|pointers]] (like in [[Macsyma]])<ref>{{Cite book |url=https://people.eecs.berkeley.edu/~fateman/macsyma/docs/refman16.pdf |title=Macsyma Mathematics and System Reference Manual |publisher=[[Macsyma]] |year=1996 |pages=419}}</ref> or entries in a [[hash table]] (like in [[Maple (software)|Maple]]).
|