diff options
Diffstat (limited to 'lib/Data/Packed/Internal/Common.hs')
-rw-r--r-- | lib/Data/Packed/Internal/Common.hs | 56 |
1 files changed, 21 insertions, 35 deletions
diff --git a/lib/Data/Packed/Internal/Common.hs b/lib/Data/Packed/Internal/Common.hs index c348575..a8c3c3e 100644 --- a/lib/Data/Packed/Internal/Common.hs +++ b/lib/Data/Packed/Internal/Common.hs | |||
@@ -82,41 +82,27 @@ ww10 w1 o1 w2 o2 w3 o3 w4 o4 w5 o5 w6 o6 w7 o7 w8 o8 w9 o9 w10 o10 f = w1 o1 $ w | |||
82 | 82 | ||
83 | type Adapt f t r = t -> ((f -> r) -> IO()) -> IO() | 83 | type Adapt f t r = t -> ((f -> r) -> IO()) -> IO() |
84 | 84 | ||
85 | app1 :: f | 85 | type Adapt1 f t1 = Adapt f t1 (IO CInt) -> t1 -> String -> IO() |
86 | -> Adapt f t (IO CInt) | 86 | type Adapt2 f t1 r1 t2 = Adapt f t1 r1 -> t1 -> Adapt1 r1 t2 |
87 | -> t | 87 | type Adapt3 f t1 r1 t2 r2 t3 = Adapt f t1 r1 -> t1 -> Adapt2 r1 t2 r2 t3 |
88 | -> String | 88 | type Adapt4 f t1 r1 t2 r2 t3 r3 t4 = Adapt f t1 r1 -> t1 -> Adapt3 r1 t2 r2 t3 r3 t4 |
89 | -> IO() | 89 | type Adapt5 f t1 r1 t2 r2 t3 r3 t4 r4 t5 = Adapt f t1 r1 -> t1 -> Adapt4 r1 t2 r2 t3 r3 t4 r4 t5 |
90 | 90 | type Adapt6 f t1 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 = Adapt f t1 r1 -> t1 -> Adapt5 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 | |
91 | app2 :: f | 91 | type Adapt7 f t1 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 r6 t7 = Adapt f t1 r1 -> t1 -> Adapt6 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 r6 t7 |
92 | -> Adapt f t1 r | 92 | type Adapt8 f t1 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 r6 t7 r7 t8 = Adapt f t1 r1 -> t1 -> Adapt7 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 r6 t7 r7 t8 |
93 | -> t1 | 93 | type Adapt9 f t1 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 r6 t7 r7 t8 r8 t9 = Adapt f t1 r1 -> t1 -> Adapt8 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 r6 t7 r7 t8 r8 t9 |
94 | -> Adapt r t2 (IO CInt) | 94 | type Adapt10 f t1 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 r6 t7 r7 t8 r8 t9 r9 t10 = Adapt f t1 r1 -> t1 -> Adapt9 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 r6 t7 r7 t8 r8 t9 r9 t10 |
95 | -> t2 | 95 | |
96 | -> String | 96 | app1 :: f -> Adapt1 f t1 |
97 | -> IO() | 97 | app2 :: f -> Adapt2 f t1 r1 t2 |
98 | 98 | app3 :: f -> Adapt3 f t1 r1 t2 r2 t3 | |
99 | app3 :: f | 99 | app4 :: f -> Adapt4 f t1 r1 t2 r2 t3 r3 t4 |
100 | -> Adapt f t1 r1 | 100 | app5 :: f -> Adapt5 f t1 r1 t2 r2 t3 r3 t4 r4 t5 |
101 | -> t1 | 101 | app6 :: f -> Adapt6 f t1 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 |
102 | -> Adapt r1 t2 r2 | 102 | app7 :: f -> Adapt7 f t1 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 r6 t7 |
103 | -> t2 | 103 | app8 :: f -> Adapt8 f t1 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 r6 t7 r7 t8 |
104 | -> Adapt r2 t3 (IO CInt) | 104 | app9 :: f -> Adapt9 f t1 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 r6 t7 r7 t8 r8 t9 |
105 | -> t3 | 105 | app10 :: f -> Adapt10 f t1 r1 t2 r2 t3 r3 t4 r4 t5 r5 t6 r6 t7 r7 t8 r8 t9 r9 t10 |
106 | -> String | ||
107 | -> IO() | ||
108 | |||
109 | app4 :: f | ||
110 | -> Adapt f t1 r1 | ||
111 | -> t1 | ||
112 | -> Adapt r1 t2 r2 | ||
113 | -> t2 | ||
114 | -> Adapt r2 t3 r3 | ||
115 | -> t3 | ||
116 | -> Adapt r3 t4 (IO CInt) | ||
117 | -> t4 | ||
118 | -> String | ||
119 | -> IO() | ||
120 | 106 | ||
121 | app1 f w1 o1 s = w1 o1 $ \a1 -> f // a1 // check s | 107 | app1 f w1 o1 s = w1 o1 $ \a1 -> f // a1 // check s |
122 | app2 f w1 o1 w2 o2 s = ww2 w1 o1 w2 o2 $ \a1 a2 -> f // a1 // a2 // check s | 108 | app2 f w1 o1 w2 o2 s = ww2 w1 o1 w2 o2 $ \a1 a2 -> f // a1 // a2 // check s |