>>> sort [1,6,4,3,2,5] [1,2,3,4,5,6]The argument must be finite.
>>> ordNub [1,2,1] :: [Int] [1,2]
>>> ordNubRight [1,2,1] :: [Int] [2,1]
nubIntOn fromEnum xs
nubOrd "this is a test" == "this ae" nubOrd (take 4 ("this" ++ undefined)) == "this" \xs -> nubOrd xs == nub xs
nubSort "this is a test" == " aehist" \xs -> nubSort xs == nub (sort xs)
>>> cycle [] *** Exception: Prelude.cycle: empty list >>> cycle [42] [42,42,42,42,42,42,42,42,42,42... >>> cycle [2, 5, 7] [2,5,7,2,5,7,2,5,7,2,5,7...
>>> tail [1, 2, 3] [2,3] >>> tail [1] [] >>> tail [] *** Exception: Prelude.tail: empty listWARNING: This function is partial. You can use case-matching or uncons instead.
>>> reverse [] [] >>> reverse [42] [42] >>> reverse [2,5,7] [7,5,2] >>> reverse [1..] * Hangs forever *
drop1 "" == "" drop1 "test" == "est" \xs -> drop 1 xs == drop1 xs
dropEnd1 "" == "" dropEnd1 "test" == "tes" \xs -> dropEnd 1 xs == dropEnd1 xs
tailErr [] = error "Prelude.tail: empty list" tailErr [1,2,3] = [2,3]
>>> toList Nothing []
>>> toList (Just 42) [42]
>>> toList (Left "foo") []
>>> toList (Node (Leaf 5) 17 (Node Empty 12 (Leaf 8))) [5,17,12,8]For lists, toList is the identity:
>>> toList [1, 2, 3] [1,2,3]