• + 1 comment

    Or, with flip:

    rev = foldl (flip (:)) []
    

    Although, this is pretty advanced since we're making use of higher order functions already. Deriving the 'inefficient' solution first, before learning why it's inefficient is the way to go.