This commit is contained in:
sforman 2023-10-21 12:40:30 -07:00
parent 35a122b2ba
commit 3c1d5ac361
1 changed files with 6 additions and 2 deletions

View File

@ -72,7 +72,7 @@
((bool) (joy-bool stack expression dict))
((dup) (values (cons (car stack) stack) expression dict))
((dup) (values (joy-dup stack) expression dict))
((pop) (values (cdr stack) expression dict))
((stack) (values (cons stack stack) expression dict))
((swaack) (values (cons (cdr stack) (car stack)) expression dict))
@ -121,7 +121,7 @@
(if (predicate term) (values term rest) (abort message))))
(define (pop-list stack) (pop-kind stack list? "Not a list."))
(define (pop-int stack) (pop-kind stack number? "Not an integer."))
(define (pop-int stack) (pop-kind stack number? "Not an integer."))
(define (pop-bool stack) (pop-kind stack boolean? "Not a Boolean value."))
@ -142,6 +142,10 @@
((list? term) (not (null? term)))
(else #t)))
(define (joy-dup stack)
(receive (term _) (pop-any stack) (cons term stack)))
(define (joy-rest stack0)
(receive (el stack) (pop-list stack0)
(if (null-list? el)