on master help sign in
Add `head` and `tail` for lists
commit64a2bc8d5f9f6fa2ca2ab03e391ec0ab21d67930 authorJonas Westerlund <jonas.westerlund@me.com> dateSat 21 Jan 2012, 14:37 (15 years ago) parent12c93ed
1 file changed+8
lib/prelude/list.idr+8
lib/prelude/list.idr+8
@@ -19,6 +19,14 @@ app : List a -> List a -> List a
1919app [] xs = xs
2020app (x :: xs) ys = x :: app xs ys
2121
22+head : List a -> Maybe a
23+head [] = Nothing
24+head (x :: xs) = Just x
25+
26+tail : List a -> List a
27+tail [] = []
28+tail (x :: xs) = xs
29+
2230length : List a -> Int
2331length [] = 0
2432length (x :: xs) = 1 + length xs