manual:chapter6:operators:cmd_ovr_eval1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision Both sides next revision
manual:chapter6:operators:cmd_ovr_eval1 [2019/10/28 16:09]
jojo1973 created
manual:chapter6:operators:cmd_ovr_eval1 [2019/10/28 17:14]
jojo1973 Rephrased description
Line 34: Line 34:
 The effect of the evaluation and the resulting output depends on the type of object being evaluated, as summarized by the following list. The effect of the evaluation and the resulting output depends on the type of object being evaluated, as summarized by the following list.
  
-  * **Local Name**: //Recalls// the content of the variable. +  * **Local Name**: ''EVAL1'' //recalls// the content of the variable. 
-  * **Global Name**: //Calls// the content of a variable:+  * **Global Name**: ''EVAL1'' //calls// the content of a variable:
     - a __Name__ is evaluated;     - a __Name__ is evaluated;
     - a __Program__ is evaluated;     - a __Program__ is evaluated;
     - a __Directory__ becomes the current directory;     - a __Directory__ becomes the current directory;
     - __other objects__ which are not lists are put on the stack.     - __other objects__ which are not lists are put on the stack.
-  * **Program**: //Enters// each object in the program:+  * **Program**: ''EVAL1'' //enters// each object in the program:
     - an [[manual:chapter6:dirs:cmd_unquoteid|unquoted]] __Name__ is evaluated;     - an [[manual:chapter6:dirs:cmd_unquoteid|unquoted]] __Name__ is evaluated;
     - a __Keyword__ is ''[[manual:chapter6:operators:cmd_ovr_xeq|XEQ]]''ted;     - a __Keyword__ is ''[[manual:chapter6:operators:cmd_ovr_xeq|XEQ]]''ted;
     - __other objects__ which are not lists are put on the stack.     - __other objects__ which are not lists are put on the stack.
-  * **Symbolic expression**: //Enters// each object in the expression:+  * **Symbolic expression**: ''EVAL1'' //enters// each object in the expression:
     - a __Name__ is evaluated;     - a __Name__ is evaluated;
     - a __Keyword__ is ''[[manual:chapter6:operators:cmd_ovr_xeq|XEQ]]''ted;     - a __Keyword__ is ''[[manual:chapter6:operators:cmd_ovr_xeq|XEQ]]''ted;
     - __other objects__ which are not lists are put on the stack.     - __other objects__ which are not lists are put on the stack.
-  * **Other objects**: if they are not lists they are put on the stack. +  * **Other objects**: if they are not lists ''EVAL1'' puts them on the stack. 
-  * **List**: //Enters// each object in the list:+  * **List**: ''EVAL1'' //enters// each object in the list:
     - __any object__ is evaluated according above mentioned rules.     - __any object__ is evaluated according above mentioned rules.
          
 As a final step, ''EVAL1'' will perform numerical simplification according to the status of flags from [[manual:appendix:flags#flag-70|-70]] to [[manual:appendix:flags#flag-78|-78]]. If the final results As a final step, ''EVAL1'' will perform numerical simplification according to the status of flags from [[manual:appendix:flags#flag-70|-70]] to [[manual:appendix:flags#flag-78|-78]]. If the final results
  
-The main difference from ''[[manual:chapter6:operators:cmd_ovr_eval|EVAL]]'' is that ''EVAL1'' performs only one step of the process described above, allowing evaluation of recursive formulas that would yield a ''Circular reference'' error otherwise.+The main difference from ''[[manual:chapter6:operators:cmd_ovr_eval|EVAL]]'' is that ''EVAL1'' performs only one step of the process described above, allowing evaluation of recursive formulas that would otherwise yield a ''Circular reference'' error.
 </callout> </callout>
  
  • manual/chapter6/operators/cmd_ovr_eval1.txt
  • Last modified: 2019/11/17 08:24
  • by jojo1973