diff --git a/forge/forge.lisp b/forge/forge.lisp index 77f41b4..5d250b6 100644 --- a/forge/forge.lisp +++ b/forge/forge.lisp @@ -9,14 +9,14 @@ (in-package :scopes/forge) (defclass forge-env () - ((data-stack :initform 0 + ((data-stack :initform nil :reader data-stack :accessor data-stack!))) (defun new-forge-env () (make-instance 'forge-env)) -(defmethod exec ((fe forge-env) code) +(defun exec (fe code) (dolist (x code) (if (symbolp x) (funcall (find-symbol (symbol-name x) :scopes/forge) fe) diff --git a/testing.lisp b/testing.lisp index d0951da..d006a16 100644 --- a/testing.lisp +++ b/testing.lisp @@ -8,14 +8,13 @@ (in-package :scopes/testing) +(defclass test-suite () + ((result :initform nil + :reader result + :accessor result!))) + (defun test-suite () - (vector nil)) - -(defun result (tst) - (elt tst 0)) - -(defmacro result! (tst) - `(elt ,tst 0)) + (make-instance 'test-suite)) (defun assert-eq (tst have wanted) (push (equalp have wanted) (result! tst)))