aboutsummaryrefslogtreecommitdiff
path: root/ch06/6_a_2.txt
blob: 8c410c9f944eb47112d81947e0cf2f2ad1184662 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
-- What is the type of (,)? When you use it in ghci, what does it do? What about
-- (,,)?

-- (,) is a 2-tuple data constructor

ghci> :t (,)
(,) :: a -> b -> (a, b)

ghci> (,) 1 2
(1,2)

ghci> t = (,) 1
ghci> :t t
t :: Num a => b -> (a, b)
ghci> t 2
(1,2)

-- (,,) is a 3-tuple data constructor

ghci> :t (,,)
(,,) :: a -> b -> c -> (a, b, c)

ghci> (,,) 1 2 3
(1,2,3)

ghci> t = (,,) 1
ghci> :t t
t :: Num a => b -> c -> (a, b, c)
ghci> u = t 2
ghci> :t u
u :: (Num a, Num b) => c -> (a, b, c)
ghci> u 3
(1,2,3)