BoolÂ
IntÂ
IntegerÂ
FloatÂ
DoubleÂ
CharÂ
StringÂ
t1 = (False, 42) :: (Bool,Int) t2 = ("Hello",False,5) :: (String,Bool,Int) t3 = ("Haskell",True,4,0.5) :: (String,Bool,Int,Double) t0 = () :: () -- the empty tuple
l1 = [2,3,5,7,11] :: [Integer] l2 = ["Hello","world"] :: [String] l3 = [] :: [Bool] l4 = [] :: [Int] -- the empty list has many types
data Maybe a = Nothing | Just a
m1 = Nothing :: Maybe a
m2 = Just "Hello" :: Maybe String
data Either a b = Left a | Right b e1 = Left "Hello" :: Either String b e2 = Right 42 :: Either a Int e3 = [Right 42,Left "Hello"] :: [Either String Int]
power :: Integer -> Integer -> Integer exampleFunction :: (Bool, Int, String) -> Bool doubles :: [Integer] -> [Integer] summary :: [String] -> String
[[Double]]Â
[(Int,String)]Â
([Int],[String])Â
[(Int,[String])]Â
[(Int->String,[Int])] -> StringÂ
[(a->b,a)] -> [b]Â
length :: [a] -> Int (++) :: [a] -> [a] -> [a] fst :: (a,b) -> a map :: (a -> b) -> [a] -> [b] filter :: (a->Bool) -> [a] -> [a]
show :: Show a => a -> String (+),(*) :: Num a => a -> a -> a (==) :: Eq a => a -> a -> Bool (<), (<=) :: Ord a => a -> a -> Bool