myreverse [] = [] myreverse (x:xs) = myreverse xs ++ [x] myreverse2 [] = [] myreverse2 [x] = [x] myreverse2 (x:xs) = [last xs] ++ myreverse2 (init xs) ++ [x] main = putStr $ show $ myreverse2 [1..6500]