Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,25 @@
(define (make-queue)
(let ((q (cons '() '())))
(lambda (cmd . arg)
(case cmd
((empty?) (null? (car q)))
((put) (let ((a (cons (car arg) '())))
(if (null? (car q))
(begin (set-car! q a) (set-cdr! q a))
(begin (set-cdr! (cdr q) a) (set-cdr! q a)))))
((get) (if (null? (car q)) 'empty
(let ((x (caar q)))
(set-car! q (cdar q))
(if (null? (car q)) (set-cdr! q '()))
x)))
))))
(define q (make-queue))
(q 'put 1)
(q 'put 6)
(q 'get)
; 1
(q 'get)
; 6
(q 'get)
; empty