add head to list functions
[lambda.git] / exercises / assignment4.mdwn
index 8bbeffe..59baf13 100644 (file)
@@ -62,6 +62,7 @@ For instance, `fact 0 ~~> 1`, `fact 1 ~~> 1`, `fact 2 ~~> 2`, `fact 3 ~~>
         let empty = \f n. n in
         let cons = \x xs. \f n. f x xs in
         let empty? = \xs. xs (\y ys. false) true in
+        let head = \xs. xs (\y ys. y) err in
         let tail = \xs. xs (\y ys. ys) empty in
         let append = Y (\append. \xs zs. xs (\y ys. (cons y (append ys zs))) zs) in
         let take_while = Y (\take_while. \p xs. xs (\y ys. (p y) (cons y (take_while p ys)) empty) empty) in