[project @ 2001-08-22 11:45:06 by sewardj]
[ghc-hetmet.git] / ghc / tests / programs / cvh_unboxing / Types.lhs
1 \section{IDS types}
2
3 \begin{code}
4 module Types where
5 import PrelBase
6
7 data F a = FN | F1 a | F2 a a | F3 a a a 
8          | F4 a a a a 
9          | F5 a a a a a (F a) 
10
11 data FI = FIN | FI1 Int# | FI2 Int# Int# | FI3 Int# Int# Int# 
12         | FI4 Int# Int# Int# Int# 
13         | FI5 Int# Int# Int# Int# Int# FI
14
15 data FC = FCN | FC1 Char# | FC2 Char# Char# 
16         | FC3 Char# Char# Char# 
17         | FC4 Char# Char# Char# Char# 
18         | FC5 Char# Char# Char# Char# Char# FC
19 \end{code}
20
21 \begin{code}
22 data F2 a b = F2N | F21 a b | F22 a b a b | F23 a b a b a b 
23             | F24 a b a b a b a b 
24             | F25 a b a b a b a b a b (F2 a b) 
25
26 data F3 a b c = F3N | F31 a b c | F32 a b c a b c 
27               | F33 a b c a b c a b c
28               | F34 a b c a b c a b c a b c
29               | F35 a b c a b c a b c a b c a b c (F3 a b c) 
30
31 data F3I = F3IN 
32          | F3I1 Int# Int# Int# 
33          | F3I2 Int# Int# Int# Int# Int# Int# 
34          | F3I3 Int# Int# Int# Int# Int# Int# Int# Int# Int#
35          | F3I4 Int# Int# Int# Int# Int# Int# Int# Int# Int# 
36                 Int# Int# Int#
37          | F3I5 Int# Int# Int# Int# Int# Int# Int# Int# Int# 
38                 Int# Int# Int# Int# Int# Int# F3I
39 \end{code}
40
41 \begin{code}
42 data S a = SN | S1 a (S a) | S2 a a (S a) | S3 a a a (S a)
43          | S4 a a a a (S a)
44          | S5 a a a a a (S a) 
45
46 data SI = SIN | SI1 Int# SI | SI2 Int# Int# SI 
47         | SI3 Int# Int# Int# SI
48         | SI4 Int# Int# Int# Int# SI
49         | SI5 Int# Int# Int# Int# Int# SI
50
51
52 data SC = SCN | SC1 Char# SC | SC2 Char# Char# SC 
53         | SC3 Char# Char# Char# SC
54         | SC4 Char# Char# Char# Char# SC
55         | SC5 Char# Char# Char# Char# Char# SC
56 \end{code}
57
58
59
60