summaryrefslogtreecommitdiff
path: root/testsuite/tests/programs/cvh_unboxing/Types.lhs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/programs/cvh_unboxing/Types.lhs')
-rw-r--r--testsuite/tests/programs/cvh_unboxing/Types.lhs63
1 files changed, 63 insertions, 0 deletions
diff --git a/testsuite/tests/programs/cvh_unboxing/Types.lhs b/testsuite/tests/programs/cvh_unboxing/Types.lhs
new file mode 100644
index 0000000000..cba89cf45b
--- /dev/null
+++ b/testsuite/tests/programs/cvh_unboxing/Types.lhs
@@ -0,0 +1,63 @@
+\section{IDS types}
+
+\begin{code}
+{-# LANGUAGE MagicHash #-}
+
+module Types where
+
+import GHC.Exts
+
+data F a = FN | F1 a | F2 a a | F3 a a a
+ | F4 a a a a
+ | F5 a a a a a (F a)
+
+data FI = FIN | FI1 Int# | FI2 Int# Int# | FI3 Int# Int# Int#
+ | FI4 Int# Int# Int# Int#
+ | FI5 Int# Int# Int# Int# Int# FI
+
+data FC = FCN | FC1 Char# | FC2 Char# Char#
+ | FC3 Char# Char# Char#
+ | FC4 Char# Char# Char# Char#
+ | FC5 Char# Char# Char# Char# Char# FC
+\end{code}
+
+\begin{code}
+data F2 a b = F2N | F21 a b | F22 a b a b | F23 a b a b a b
+ | F24 a b a b a b a b
+ | F25 a b a b a b a b a b (F2 a b)
+
+data F3 a b c = F3N | F31 a b c | F32 a b c a b c
+ | F33 a b c a b c a b c
+ | F34 a b c a b c a b c a b c
+ | F35 a b c a b c a b c a b c a b c (F3 a b c)
+
+data F3I = F3IN
+ | F3I1 Int# Int# Int#
+ | F3I2 Int# Int# Int# Int# Int# Int#
+ | F3I3 Int# Int# Int# Int# Int# Int# Int# Int# Int#
+ | F3I4 Int# Int# Int# Int# Int# Int# Int# Int# Int#
+ Int# Int# Int#
+ | F3I5 Int# Int# Int# Int# Int# Int# Int# Int# Int#
+ Int# Int# Int# Int# Int# Int# F3I
+\end{code}
+
+\begin{code}
+data S a = SN | S1 a (S a) | S2 a a (S a) | S3 a a a (S a)
+ | S4 a a a a (S a)
+ | S5 a a a a a (S a)
+
+data SI = SIN | SI1 Int# SI | SI2 Int# Int# SI
+ | SI3 Int# Int# Int# SI
+ | SI4 Int# Int# Int# Int# SI
+ | SI5 Int# Int# Int# Int# Int# SI
+
+
+data SC = SCN | SC1 Char# SC | SC2 Char# Char# SC
+ | SC3 Char# Char# Char# SC
+ | SC4 Char# Char# Char# Char# SC
+ | SC5 Char# Char# Char# Char# Char# SC
+\end{code}
+
+
+
+