Calculator Key: ■→
Item1 | ... | Itemn | → |
This operation can only be used from within program context. In that context, it is used like this:
≪ ... → symbol1 ... symboln ≪ anotherProgram ≫ ... ≫
or instead of a program, you can use an expression like this:
≪ ... → symbol1 ... symboln 'expression' ... ≫
When the program executes, values "n" values will be popped off the stack. The value from the top of the stack will be stored in a local variable called symboln and the last value popped off the stack will be stored in a local variable called symbol1. Finally, the expression or program which follows the list of symbols will be executed with those local variables in its context. Once execution of that expression or program completes, the local variables are removed from the execution context.
If the → operation is at the beginning of the program and the expression/program it evaluates is the last thing in the program, then this program can be used as a custom operation. Store this program in a global variable. Assuming it is stored in a variable called CUSTOMOP, then it can be called from an expression like this:
'CUSTOMOP(arg1, ..., argn)'
At execution time, the number of arguments being passed into CUSTOMOP is compared to the list of symbols. If they match, then the program is ran with those values in the local variables. If they don't match, a "Wrong Argument Count" error is raised.