Fix tagging to work correctly with integers and scheme-numbers
This commit is contained in:
parent
86b044fd13
commit
502e84bd63
7
2_78.rkt
7
2_78.rkt
|
@ -168,14 +168,11 @@
|
|||
(not (integer? x))))
|
||||
|
||||
(define (attach-tag type-tag contents)
|
||||
(cond ((or (scheme-number? contents)
|
||||
(integer? contents))
|
||||
contents)
|
||||
(cond ((eq? type-tag 'scheme-number) contents)
|
||||
(else (cons type-tag contents))))
|
||||
|
||||
(define (type-tag datum)
|
||||
(cond ((scheme-number? datum) 'scheme-number)
|
||||
((integer? datum) 'integer)
|
||||
(cond ((number? datum) 'scheme-number)
|
||||
((pair? datum) (car datum))
|
||||
(else (error "Bad tagged datum -- TYPE-TAG" datum))))
|
||||
|
||||
|
|
Loading…
Reference in New Issue