Fix bugs in type errors for data/queue
This commit is contained in:
parent
5a9241076e
commit
562f5f01f6
|
@ -21,7 +21,7 @@
|
||||||
(define (non-empty-queue? v) (and (queue? v) (queue-head v) #t))
|
(define (non-empty-queue? v) (and (queue? v) (queue-head v) #t))
|
||||||
|
|
||||||
(define (enqueue! q v)
|
(define (enqueue! q v)
|
||||||
(unless (queue? q) (raise-type-error enqueue! "queue" 0 q))
|
(unless (queue? q) (raise-type-error 'enqueue! "queue" 0 q))
|
||||||
(let ([new (link v #f)])
|
(let ([new (link v #f)])
|
||||||
(if (queue-head q)
|
(if (queue-head q)
|
||||||
(set-link-tail! (queue-tail q) new)
|
(set-link-tail! (queue-tail q) new)
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
(set-queue-length! q (+ (queue-length q) 1))))
|
(set-queue-length! q (+ (queue-length q) 1))))
|
||||||
|
|
||||||
(define (enqueue-front! q v)
|
(define (enqueue-front! q v)
|
||||||
(unless (queue? q) (raise-type-error enqueue! "enqueue-front!" 0 q))
|
(unless (queue? q) (raise-type-error 'enqueue-front! "queue" 0 q))
|
||||||
(define fr (queue-head q))
|
(define fr (queue-head q))
|
||||||
(cond
|
(cond
|
||||||
[fr
|
[fr
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
(set-queue-length! q (+ (queue-length q) 1)))
|
(set-queue-length! q (+ (queue-length q) 1)))
|
||||||
|
|
||||||
(define (dequeue! q)
|
(define (dequeue! q)
|
||||||
(unless (queue? q) (raise-type-error dequeue! "queue" 0 q))
|
(unless (queue? q) (raise-type-error 'dequeue! "queue" 0 q))
|
||||||
(let ([old (queue-head q)])
|
(let ([old (queue-head q)])
|
||||||
(unless old (raise-type-error 'dequeue! "non-empty queue" 0 q))
|
(unless old (raise-type-error 'dequeue! "non-empty queue" 0 q))
|
||||||
(cond
|
(cond
|
||||||
|
|
Loading…
Reference in New Issue
Block a user