Вот что у меня есть для программы глубины, но как это сделать без функции max (использовать только 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)))
Должен выводиться: максимальная глубина: 2