Factored library, implemented make-continuation.
[scheme.forth.jl.git] / src / scheme-library-5-lists.scm
diff --git a/src/scheme-library-5-lists.scm b/src/scheme-library-5-lists.scm
new file mode 100644 (file)
index 0000000..12bd3c3
--- /dev/null
@@ -0,0 +1,16 @@
+;; LISTS
+
+; Return number of items in list
+(define (length l)
+  (define (iter a count)
+    (if (null? a)
+      count
+      (iter (cdr a) (fix:+ count 1))))
+  (iter l 0))
+
+; Reverse the contents of a list
+(define (reverse l)
+  (if (null? l)
+    ()
+    (append (reverse (cdr l)) (list (car l)))))
+