;; ----------------------------------------------- ;; EXERCISE 2.78 ;; ----------------------------------------------- (define (attach-tag type-tag contents) (if (number? contents) contents (cons type-tag contents))) (define (type-tag datum) (cond ((number? datum) 'scheme-number) ((pair? datum) (car datum)) (error "Wrong datum -- TYPE-TAG" datum))) (define (contents datum) (cond ((number? datum) datum) ((pair? datum) (cdr datum)) (error "Wrong datum -- CONTENTS" datum)))
<< Previous exercise (2.77) | Index | Next exercise (2.79) >>