diff --git a/forge/forge.lisp b/forge/forge.lisp index 51db2ab..55e0a31 100644 --- a/forge/forge.lisp +++ b/forge/forge.lisp @@ -18,8 +18,8 @@ (pushd fe x) (funcall x fe)))) -(defun data-stack (fe) - (elt fe 0)) +(defmacro data-stack (fe) + `(elt ,fe 0)) ; forge primitives @@ -29,8 +29,8 @@ ; internal definitions (defun popd (fe) - (pop (elt fe 0))) + (pop (data-stack fe))) (defun pushd (fe v) - (push v (elt fe 0))) + (push v (data-stack fe))) diff --git a/testing.lisp b/testing.lisp index adf437a..21d8480 100644 --- a/testing.lisp +++ b/testing.lisp @@ -12,7 +12,7 @@ (vector nil)) (defun assert-eql (tst have wanted) - (push (eql have wanted) (elt tst 0))) + (push (eql have wanted) (result tst))) -(defun result (tst) - (elt tst 0)) +(defmacro result (tst) + `(elt ,tst 0))