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, Felipe Almeida Lessa <felipe.lessa@gmail.com> wrote:
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