Základom môže byť zredukovaná všeobecná schéma spracovania na ľubovolnej úrovni. Výhodné je použiť funkciu max, vracajúcu maximálne číslo z argumentov. Vždy zisťujeme hĺbku s-výrazu vľavo (first) a vpravo (rest) a vyberám maximum.
(defun maxdeep (sv)
(cond ((ATOM sv) 0)
(T (max (+ 1 (maxdeep (first sv))) (+ 1 (maxdeep (rest sv)))))
)
)
; Príklady:
(maxdeep '(a . b)) ; -> 1
(maxdeep '((a b c d))) ; -> 5
(maxdeep '(a . (a . b))) ; -> 2