[Push] runpush operation
Rud Merriam
k5rud at arrl.net
Sat Nov 1 17:33:22 EST 2003
I am not understanding something about either the DO / DO* operators or
runpush. In the expression
(runpush '(integer.dup integer.+) '(5))
I evaluate it as:
code.push("(integer.dup integer.+)") code.push("(5)") <while code
!empty> code.do
The result is the first DO pushes the 5 on the integer stack and the second
DO does the dup and + operators. That leaves the code stack empty.
I just looked at the LISP at the URL you posted in your Push2 message last
month. My LISP is very rusty but I think I got it. Runpush pushes its first
argument on the code stack and the second argument values on their
appropriate stacks.
If that is correct then it is equivalent to:
code.push("(integer.dup integer.+)") code.push("(5)") code.do
code.do
Rud Merriam
K5RUD
More information about the Push
mailing list