On 9/23/07, Lennart Augustsson <[EMAIL PROTECTED]> 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

Reply via email to