Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| -- P05 Reverse a list. | |
| -- Predefined function | |
| f0 :: [a] -> [a] | |
| f0 = reverse | |
| -- Recursion (inefficient) | |
| f1 :: [a] -> [a] | |
| f1 [] = [] | |
| f1 (x:xs) = f1 xs ++ [x] | |
| -- Tail recursion | |
| f2 :: [a] -> [a] | |
| f2 = f2' [] | |
| where f2' :: [a] -> [a] -> [a] | |
| f2' acc [] = acc | |
| f2' acc (x:xs) = f2' (x:acc) xs | |
| -- Folding | |
| f3 :: [a] -> [a] | |
| f3 = foldl (flip (:)) [] |