Prelude.reverse
{-# LANGUAGE NoImplicitPrelude #-}
module Main where
import Prelude hiding (reverse)
main :: IO ()
main = putStrLn $ if test then "SUCCESS" else "FAILURE"
test :: Bool
test = foldl (&&) True [ length (reverse []) == length []
, reverse [1] == [1]
, reverse [1, 2] == [2, 1]
, reverse [1, 2, 3] == [3, 2, 1]
, reverse [1, 2, 3, 4] == [4, 3, 2, 1]
]
-- TODO
reverse :: [a] -> [a]
reverse = undefined
{-# LANGUAGE NoImplicitPrelude #-}
module Main where
import Prelude hiding (reverse)
main :: IO ()
main = putStrLn $ if test then "SUCCESS" else "FAILURE"
test :: Bool
test = foldl (&&) True [ length (reverse []) == length []
, reverse [1] == [1]
, reverse [1, 2] == [2, 1]
, reverse [1, 2, 3] == [3, 2, 1]
, reverse [1, 2, 3, 4] == [4, 3, 2, 1]
]
-- DONE
reverse :: [a] -> [a]
reverse xs = foldl (flip (:)) [] xs