Added (length)
authorTim Vaughan <tgvaughan@gmail.com>
Sun, 6 Nov 2016 08:53:01 +0000 (21:53 +1300)
committerTim Vaughan <tgvaughan@gmail.com>
Sun, 6 Nov 2016 08:53:01 +0000 (21:53 +1300)
scheme-library.scm

index f95ed65..484f500 100644 (file)
 (define (cddr l) (cdr (cdr l)))
 (define (cadar l) (car (cdr (car l))))
 
 (define (cddr l) (cdr (cdr l)))
 (define (cadar l) (car (cdr (car l))))
 
+; Return number of items in list
+(define (length l)
+  (define (iter a count)
+    (if (null? a)
+      count
+      (iter (cdr a) (+ count 1))))
+  (iter l 0))
+
 ; Join two lists together
 (define (join l1 l2)
   (if (null? l1)
 ; Join two lists together
 (define (join l1 l2)
   (if (null? l1)