Blob
1 (define (attach-tag type-tag contents)2 (if (= type-tag 'scheme-number)3 contents4 (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))))