これが深度プログラム用のものですが、最大関数なしでそれを行う方法 (define、lambda、quote (')、car、cdr、cons、cond、eq?、および equal? のみを使用)?
(define depth
(lambda (expr)
(cond ((null? expr) 0)
((list? (car expr))
(max (+ 1 (depth (car expr))) (depth (cdr expr))))
((null? (cdr expr))0) (max (depth (cdr expr))))))
入力: ((id = id + id)(if bool then (if bool then ( id = id + id ))(id = const / const)(id = id + id))(while bool (id = id - const )(id = id - id)))
出力する必要があります: maximumdepth: 2