@@ -7,32 +7,32 @@ infixr 7 :: ;
77data List a = Nil | (::) a (List a);
88
99rev : List a -> List a;
10−rev xs = revAcc Nil xs where {
10+rev xs = revAcc [] xs where {
1111 revAcc : List a -> List a -> List a;
12− revAcc acc Nil = acc;
12+ revAcc acc [] = acc;
1313 revAcc acc (x :: xs) = revAcc (x :: acc) xs;
1414}
1515
1616length : List a -> Int;
17−length Nil = 0;
17+length [] = 0;
1818length (x :: xs) = 1 + length xs;
1919
2020take : Int -> List a -> List a;
21−take 0 xs = Nil;
22−take n Nil = Nil;
21+take 0 xs = [];
22+take n [] = [];
2323take n (x :: xs) = x :: take (n-1) xs;
2424
2525drop : Int -> List a -> List a;
2626drop 0 xs = xs;
27−drop n Nil = Nil;
27+drop n [] = [];
2828drop n (x :: xs) = drop (n-1) xs;
2929
3030map : (a -> b) -> List a -> List b;
31−map f Nil = Nil;
31+map f [] = [];
3232map f (x :: xs) = f x :: map f xs;
3333
3434filter : (y -> Bool) -> List y -> List y;
35−filter pred Nil = Nil;
35+filter pred [] = [];
3636filter pred (x :: xs) with (pred x, filter pred xs) {
3737 filter pred (x :: xs) | (True, fxs) = x :: fxs;
3838 filter pred (x :: xs) | (False, fxs) = fxs;