forge.exec: fix action selection using symbolp, lookup in scopes/forge package

This commit is contained in:
Helmut Merz 2024-04-20 15:36:56 +02:00
parent aa065dd283
commit 310837ab58
3 changed files with 9 additions and 9 deletions

View file

@ -14,9 +14,9 @@
(defun exec (fe code) (defun exec (fe code)
(dolist (x code) (dolist (x code)
(if (numberp x) (if (symbolp x)
(pushd fe x) (funcall (find-symbol (symbol-name x) :scopes/forge) fe)
(funcall x fe)))) (pushd fe x))))
(defmacro data-stack (fe) (defmacro data-stack (fe)
`(elt ,fe 0)) `(elt ,fe 0))

View file

@ -13,8 +13,8 @@
(defun run () (defun run ()
(let ((fe (scf:new-forge-env)) (let ((fe (scf:new-forge-env))
(tst (sct:test-suite))) (tst (sct:test-suite)))
(scf:exec fe '(4 2 scf:add)) (scf:exec fe '(4 2 add))
(sct:assert-eql tst (car (scf:data-stack fe)) 6) (sct:assert-eq tst (car (scf:data-stack fe)) 6)
;;(format t "~%fe ~a" fe) ;(format t "~%fe ~a" fe)
(sct:result tst) (sct:result tst)
)) ))

View file

@ -4,15 +4,15 @@
(defpackage :scopes/testing (defpackage :scopes/testing
(:use :common-lisp) (:use :common-lisp)
(:export #:test-suite #:assert-eql #:result)) (:export #:test-suite #:assert-eq #:result))
(in-package :scopes/testing) (in-package :scopes/testing)
(defun test-suite () (defun test-suite ()
(vector nil)) (vector nil))
(defun assert-eql (tst have wanted) (defun assert-eq (tst have wanted)
(push (eql have wanted) (result tst))) (push (equalp have wanted) (result tst)))
(defmacro result (tst) (defmacro result (tst)
`(elt ,tst 0)) `(elt ,tst 0))