Amb: Difference between revisions

21 bytes removed ,  1 year ago
Line 1,060:
 
(defvar *stack* nil)
(defvar *assertionassert* t)
 
(defun new ()
Line 1,071:
(setf (get symbol 'domain) domain))
 
(defun ambassert (assertionassert)
(setf *assertionassert* (list 'and assertionassert *assertionassert*))
(if (eval *assertionassert*)
t
(labels ((probe (&optional (stack *stack*))
Line 1,080:
(dolist (value domain)
(set symbol value)
(cond ((eval *assertionassert*) (return t))
((probe (rest stack)) (return t)))))))
(probe))))</syntaxhighlight>
422

edits