Well, my goal when I first wrote it was to see if I could write reverse without calling any other functions.
I did realize that it was really bad. :)
-- Lennart
On 9/23/07, Lennart Augustsson <lennart@augustsson.net> wrote:
> If we're discussing bad versions of reverse, don't forget this one:
>
> rev [] = []
> rev (x:xs) =
> case rev xs of
> [] -> [x]
> y:ys -> y : rev (x : rev ys)
>
> It's different from most versions of reverse because it doesn't use any
> auxiliarry functions.
> It's also extremely inefficient.
Wow! I'm amazed, this function runs in exponential time! How does one
actually comes to write it without smelling something wrong with those
recursive calls?
--
Felipe.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe