Blob


1 (define (attach-tag type-tag contents)
2 (if (= type-tag 'scheme-number)
3 contents
4 (cons type-tag contents)))
5 (define (type-tag datum)
6 (cond ((number? datum) 'scheme-number)
7 ((pair? datum) (car datum))
8 (else (error "Bad tagged datum -- TYPE-TAG" datum))))
9 (define (contents datum)
10 (cond ((number? datum) datum)
11 ((pair? datum) (cdr datum))
12 (else (error "Bad tagged datum -- CONTENTS" datum))))