November 2010
Intermediate to advanced
504 pages
12h 45m
English
Let’s suppose you need a custom my-length command. This is a classic list-eating function that will count the length of a list. We’ll write it in the proper “tail call optimized” style (discussed in Chapter 14), where the recursive function call is in the tail position. Here’s the code:
(defun my-length (lst)(labels ((f (lst acc)
(if lst
(f (cdr lst) (1+ acc)) acc))) (f lst 0)))
As you can see, this function has tons of repetitive ...
Read now
Unlock full access