diff --git a/beautiful-racket-lib/br/list.rkt b/beautiful-racket-lib/br/list.rkt index 2e97c8b..1ac1fd0 100644 --- a/beautiful-racket-lib/br/list.rkt +++ b/beautiful-racket-lib/br/list.rkt @@ -4,3 +4,11 @@ (define-macro (values->list EXPR) #'(call-with-values (λ () EXPR) list)) + +(define-macro (push! ID VAL) + #'(set! ID (cons VAL ID))) + +(define-macro (pop! ID) + #'(let ([x (car ID)]) + (set! ID (cdr ID)) + x)) \ No newline at end of file