forge.exec: fix action selection using symbolp, lookup in scopes/forge package
This commit is contained in:
parent
aa065dd283
commit
310837ab58
3 changed files with 9 additions and 9 deletions
|
@ -14,9 +14,9 @@
|
|||
|
||||
(defun exec (fe code)
|
||||
(dolist (x code)
|
||||
(if (numberp x)
|
||||
(pushd fe x)
|
||||
(funcall x fe))))
|
||||
(if (symbolp x)
|
||||
(funcall (find-symbol (symbol-name x) :scopes/forge) fe)
|
||||
(pushd fe x))))
|
||||
|
||||
(defmacro data-stack (fe)
|
||||
`(elt ,fe 0))
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
(defun run ()
|
||||
(let ((fe (scf:new-forge-env))
|
||||
(tst (sct:test-suite)))
|
||||
(scf:exec fe '(4 2 scf:add))
|
||||
(sct:assert-eql tst (car (scf:data-stack fe)) 6)
|
||||
;;(format t "~%fe ~a" fe)
|
||||
(scf:exec fe '(4 2 add))
|
||||
(sct:assert-eq tst (car (scf:data-stack fe)) 6)
|
||||
;(format t "~%fe ~a" fe)
|
||||
(sct:result tst)
|
||||
))
|
||||
|
|
|
@ -4,15 +4,15 @@
|
|||
|
||||
(defpackage :scopes/testing
|
||||
(:use :common-lisp)
|
||||
(:export #:test-suite #:assert-eql #:result))
|
||||
(:export #:test-suite #:assert-eq #:result))
|
||||
|
||||
(in-package :scopes/testing)
|
||||
|
||||
(defun test-suite ()
|
||||
(vector nil))
|
||||
|
||||
(defun assert-eql (tst have wanted)
|
||||
(push (eql have wanted) (result tst)))
|
||||
(defun assert-eq (tst have wanted)
|
||||
(push (equalp have wanted) (result tst)))
|
||||
|
||||
(defmacro result (tst)
|
||||
`(elt ,tst 0))
|
||||
|
|
Loading…
Add table
Reference in a new issue