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