- ;; mht created on Nov 15, 2011
-
-
;; data definition:
-
;; A list-of-symbols is either
-
;; 1. the empty list, empty, or
-
;; 2. (cons s los) where s is a symbol and los is a list of symbols.
-
-
;; how-many-symbols : list-of-symbols -> numbers
-
;; to compute the number of items in a-list-of-symbols
-
;; examples: (how-many-symbols (cons 'a (cons 'b empty))) -> 2
-
(define (how-many-symbols a-list-of-symbols)
-
(cond
-
[(empty? a-list-of-symbols) 0]
-
[else
-
(+
-
(how-many-symbols (rest a-list-of-symbols))
-
1)]))
-
-
;; test
-
(= (how-many-symbols (cons 'a (cons 'b empty)))
-
2)
-
(= (how-many-symbols empty)
- 0)