use separate reader and writer functions / methods for data stack and test result

This commit is contained in:
Helmut Merz 2024-04-21 14:17:11 +02:00
parent 6f93968e4b
commit 9bed7704b6
2 changed files with 11 additions and 5 deletions

View file

@ -17,7 +17,10 @@
(funcall (find-symbol (symbol-name x) :scopes/forge) fe) (funcall (find-symbol (symbol-name x) :scopes/forge) fe)
(pushd fe x)))) (pushd fe x))))
(defmacro data-stack (fe) (defun data-stack (fe)
(elt fe 0))
(defmacro data-stack! (fe)
`(elt ,fe 0)) `(elt ,fe 0))
; forge primitives ; forge primitives
@ -28,8 +31,8 @@
; internal definitions ; internal definitions
(defun popd (fe) (defun popd (fe)
(pop (data-stack fe))) (pop (data-stack! fe)))
(defun pushd (fe v) (defun pushd (fe v)
(push v (data-stack fe))) (push v (data-stack! fe)))

View file

@ -12,8 +12,11 @@
(vector nil)) (vector nil))
(defun assert-eq (tst have wanted) (defun assert-eq (tst have wanted)
(push (equalp have wanted) (result tst))) (push (equalp have wanted) (result! tst)))
(defmacro result (tst) (defun result (tst)
(elt tst 0))
(defmacro result! (tst)
`(elt ,tst 0)) `(elt ,tst 0))