-- Test instances for tuples up to 15
-- For Read, Show, Eq, Ord, Bounded
module Main where
data T = A | B | C | D | E | F | G | H | I | J | K | L | M | N | O
deriving( Eq, Ord, Show, Read, Bounded )
t15 = (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O)
t14 = (A,B,C,D,E,F,G,H,I,J,K,L,M,N)
t13 = (A,B,C,D,E,F,G,H,I,J,K,L,M)
t12 = (A,B,C,D,E,F,G,H,I,J,K,L)
t11 = (A,B,C,D,E,F,G,H,I,J,K)
t10 = (A,B,C,D,E,F,G,H,I,J)
t9 = (A,B,C,D,E,F,G,H,I)
t8 = (A,B,C,D,E,F,G,H)
t7 = (A,B,C,D,E,F,G)
t6 = (A,B,C,D,E,F)
t5 = (A,B,C,D,E)
t4 = (A,B,C,D)
t3 = (A,B,C)
t2 = (A,B)
t0 = ()
big = (t0,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15)
main = do print big
print (read (show big) `asTypeOf` big)
print (big == big)
print (big < big)
print (big > big)
print (minBound `asTypeOf` big)
print (maxBound `asTypeOf` big)