Note that the trivial solution
reverse a = foldr (\\b c -> c ++ [b] ) [] a
is not very efficient, because of the quadratic growth in complex
Try this:
reverse bs = foldr (\b g x -> g (b : x)) id bs []
Though it's usually really better to write it using foldl':
reverse = foldl' (flip (:)) []