(cdr '(1)) ;=> () (null? (cdr '(1))) ;=> #t pair? ;=> # (define atom? (lambda (x) (and (not (pair? x)) (not (null? x))))) (define lat? (lambda (l) (cond ((null? l) #t) ((atom? (car l)) (lat? (cdr l))) (else #f)))) lat? ;=> # (lat? '(1 2 3)) ;=> #t (lat? '(1 (2) 3)) ;=> #f (null? 3) ;=> #f (pair? 3) ;=> #f (pair? '(3)) ;=> #t (define member? (lambda (a l) (cond ((null? l) #f) ((= (car l) a) #t) (else (member? a (cdr l)))))) (member? 1 '(1 2 3)) ;=> #t (member? 4 '(1 2 3)) ;=> #f (member? 4 '(1 2 3 5 4)) ;=> #t (define rember (lambda (m l) (cond ((null? l) '()) ((eq? m (car l)) (cdr l)) (else (cons (car l) (rember m (cdr l))))))) (rember 3 '(1 2)) ;=> (1 2) (rember 3 '(1 2 3 4 5)) ;=> (1 2 4 5)