A Haskell A Day: Types

By Xah Lee. Date:

Haskell the language has types. Example of defining types:

  5  :: Integer
 'a' :: Char
 inc :: Integer -> Integer
 [1,2,3] :: [Integer]
 ('b',4) :: (Char,Integer)

Examples of user defined types:

data myBool       = False | True
data Color        = Red | Green | Blue | Indigo | Violet
data Point a      = Pt a a

Most materials on this page are from: http://www.haskell.org/tutorial/goodies.html

Haskell supports some sequences:

[1..10] →       [1,2,3,4,5,6,7,8,9,10]
[1,3..10]       →       [1,3,5,7,9]
[1,3..] →       [1,3,5,7,9, … (infinite sequence)

some list comprehension stuff. Need to create actual code here.

[ f x | x <- xs ]
[ (x,y) | x <- xs, y <- ys ]

Example of defining map.

map                     :: (a->b) -> [a] -> [b]
map f  []               =  []
map f (x:xs)            =  f x : map f xs

Question: how to find out what functions are predefined in Haskell?

Example of using map:

map (add 1) [1,2,3] -- returns [2,3,4]
2005-10