diff options
author | Péter Diviánszky <divipp@gmail.com> | 2016-05-03 15:37:02 +0200 |
---|---|---|
committer | Péter Diviánszky <divipp@gmail.com> | 2016-05-03 15:37:02 +0200 |
commit | 57d10e734217c6eeaaec61131861bfd2861a4eb0 (patch) | |
tree | 1ced06f37ea0902999341ea80bc646cdba7e5db4 /testdata | |
parent | ced2bb3b8d35d0e2faa21adeff04607a2174ae99 (diff) |
fix pretty print parens
Diffstat (limited to 'testdata')
40 files changed, 693 insertions, 662 deletions
diff --git a/testdata/Builtins.out b/testdata/Builtins.out index 2e7d6b11..0595c3ef 100644 --- a/testdata/Builtins.out +++ b/testdata/Builtins.out | |||
@@ -6,22 +6,22 @@ data VecS (_ :: Type) :: Nat -> Type where | |||
6 | V4 :: forall c . c -> c -> c -> c -> VecS c (fromInt 4) | 6 | V4 :: forall c . c -> c -> c -> c -> VecS c (fromInt 4) |
7 | mapVec | 7 | mapVec |
8 | = (\(a :: _) (b :: _) -> case'VecS | 8 | = (\(a :: _) (b :: _) -> case'VecS |
9 | \_ -> \_ -> _ :: _ | 9 | (\_ -> \_ -> _ :: _) |
10 | \(c :: _) (d :: _) -> _rhs (V2 (a c) (a d)) | 10 | (\(c :: _) (d :: _) -> _rhs (V2 (a c) (a d))) |
11 | \(e :: _) (f :: _) (g :: _) -> _rhs (V3 (a e) (a f) (a g)) | 11 | (\(e :: _) (f :: _) (g :: _) -> _rhs (V3 (a e) (a f) (a g))) |
12 | \(h :: _) (i :: _) (j :: _) (k :: _) -> _rhs (V4 (a h) (a i) (a j) (a k)) | 12 | (\(h :: _) (i :: _) (j :: _) (k :: _) -> _rhs (V4 (a h) (a i) (a j) (a k))) |
13 | b) | 13 | b) |
14 | :: forall (l :: _) (m :: _) (n :: _) . (l -> m) -> VecS l n -> VecS m n | 14 | :: forall (l :: _) (m :: _) (n :: _) . (l -> m) -> VecS l n -> VecS m n |
15 | 'Vec = (\(a :: _) (b :: _) -> _rhs ('VecS b a)) :: Nat -> Type -> Type | 15 | 'Vec = (\(a :: _) (b :: _) -> _rhs ('VecS b a)) :: Nat -> Type -> Type |
16 | 'VecScalar | 16 | 'VecScalar |
17 | = (\(a :: _) (b :: _) -> case'Nat | 17 | = (\(a :: _) (b :: _) -> case'Nat |
18 | \_ -> _ :: _ | 18 | (\_ -> _ :: _) |
19 | undefined | 19 | undefined |
20 | \(c :: _) -> case'Nat | 20 | (\(c :: _) -> case'Nat |
21 | \_ -> _ :: _ | 21 | (\_ -> _ :: _) |
22 | (_rhs b) | 22 | (_rhs b) |
23 | \(d :: _) -> _rhs ('Vec (Succ (Succ d)) b) | 23 | (\(d :: _) -> _rhs ('Vec (Succ (Succ d)) b)) |
24 | c | 24 | c) |
25 | a) | 25 | a) |
26 | :: Nat -> Type -> Type | 26 | :: Nat -> Type -> Type |
27 | data Mat :: Nat -> Nat -> Type -> Type where | 27 | data Mat :: Nat -> Nat -> Type -> Type where |
@@ -63,402 +63,402 @@ data Mat :: Nat -> Nat -> Type -> Type where | |||
63 | -> Vec (fromInt 4) Float -> Mat (fromInt 4) (fromInt 4) Float | 63 | -> Vec (fromInt 4) Float -> Mat (fromInt 4) (fromInt 4) Float |
64 | 'MatVecScalarElem | 64 | 'MatVecScalarElem |
65 | = (\(a :: _) -> match'Float | 65 | = (\(a :: _) -> match'Float |
66 | \_ -> _ | 66 | (\_ -> _) |
67 | (_rhs 'Float) | 67 | (_rhs 'Float) |
68 | a | 68 | a |
69 | (match'Bool | 69 | (match'Bool |
70 | \_ -> _ | 70 | (\_ -> _) |
71 | (_rhs 'Bool) | 71 | (_rhs 'Bool) |
72 | a | 72 | a |
73 | (match'Int | 73 | (match'Int |
74 | \_ -> _ | 74 | (\_ -> _) |
75 | (_rhs 'Int) | 75 | (_rhs 'Int) |
76 | a | 76 | a |
77 | (match'VecS | 77 | (match'VecS |
78 | \_ -> _ | 78 | (\_ -> _) |
79 | \(b :: _) -> \_ -> _rhs b | 79 | (\(b :: _) -> \_ -> _rhs b) |
80 | a | 80 | a |
81 | (match'Mat \_ -> _ \_ -> \_ (c :: _) -> _rhs c a undefined))))) | 81 | (match'Mat (\_ -> _) (\_ -> \_ (c :: _) -> _rhs c) a undefined))))) |
82 | :: Type -> Type | 82 | :: Type -> Type |
83 | 'Signed | 83 | 'Signed |
84 | = (\(a :: _) -> match'Int | 84 | = (\(a :: _) -> match'Int |
85 | \_ -> _ | 85 | (\_ -> _) |
86 | (_rhs 'Unit) | 86 | (_rhs 'Unit) |
87 | a | 87 | a |
88 | (match'Float | 88 | (match'Float |
89 | \_ -> _ | 89 | (\_ -> _) |
90 | (_rhs 'Unit) | 90 | (_rhs 'Unit) |
91 | a | 91 | a |
92 | (_rhs ('Empty "no instance of 'Signed on ???")))) | 92 | (_rhs ('Empty "no instance of 'Signed on ???")))) |
93 | :: Type -> Type | 93 | :: Type -> Type |
94 | 'Component | 94 | 'Component |
95 | = (\(a :: _) -> match'Int | 95 | = (\(a :: _) -> match'Int |
96 | \_ -> _ | 96 | (\_ -> _) |
97 | (_rhs 'Unit) | 97 | (_rhs 'Unit) |
98 | a | 98 | a |
99 | (match'Word | 99 | (match'Word |
100 | \_ -> _ | 100 | (\_ -> _) |
101 | (_rhs 'Unit) | 101 | (_rhs 'Unit) |
102 | a | 102 | a |
103 | (match'Float | 103 | (match'Float |
104 | \_ -> _ | 104 | (\_ -> _) |
105 | (_rhs 'Unit) | 105 | (_rhs 'Unit) |
106 | a | 106 | a |
107 | (match'VecS | 107 | (match'VecS |
108 | \_ -> _ | 108 | (\_ -> _) |
109 | \(b :: _) (c :: _) -> match'Float | 109 | (\(b :: _) (c :: _) -> match'Float |
110 | \_ -> _ | 110 | (\_ -> _) |
111 | (case'Nat | 111 | (case'Nat |
112 | \_ -> _ :: _ | 112 | (\_ -> _ :: _) |
113 | (_rhs ('Empty "no instance of 'Component on ???")) | 113 | (_rhs ('Empty "no instance of 'Component on ???")) |
114 | \(d :: _) -> case'Nat | 114 | (\(d :: _) -> case'Nat |
115 | \_ -> _ :: _ | 115 | (\_ -> _ :: _) |
116 | (_rhs ('Empty "no instance of 'Component on ???")) | 116 | (_rhs ('Empty "no instance of 'Component on ???")) |
117 | \(e :: _) -> case'Nat | 117 | (\(e :: _) -> case'Nat |
118 | \_ -> _ :: _ | 118 | (\_ -> _ :: _) |
119 | (_rhs 'Unit) | 119 | (_rhs 'Unit) |
120 | \(f :: _) -> case'Nat | 120 | (\(f :: _) -> case'Nat |
121 | \_ -> _ :: _ | 121 | (\_ -> _ :: _) |
122 | (_rhs 'Unit) | 122 | (_rhs 'Unit) |
123 | \(g :: _) -> case'Nat | 123 | (\(g :: _) -> case'Nat |
124 | \_ -> _ :: _ | 124 | (\_ -> _ :: _) |
125 | (_rhs 'Unit) | 125 | (_rhs 'Unit) |
126 | \_ -> _rhs ('Empty "no instance of 'Component on ???") | 126 | (\_ -> _rhs ('Empty "no instance of 'Component on ???")) |
127 | g | 127 | g) |
128 | f | 128 | f) |
129 | e | 129 | e) |
130 | d | 130 | d) |
131 | c) | 131 | c) |
132 | b | 132 | b |
133 | (match'Bool | 133 | (match'Bool |
134 | \_ -> _ | 134 | (\_ -> _) |
135 | (case'Nat | 135 | (case'Nat |
136 | \_ -> _ :: _ | 136 | (\_ -> _ :: _) |
137 | (_rhs ('Empty "no instance of 'Component on ???")) | 137 | (_rhs ('Empty "no instance of 'Component on ???")) |
138 | \(h :: _) -> case'Nat | 138 | (\(h :: _) -> case'Nat |
139 | \_ -> _ :: _ | 139 | (\_ -> _ :: _) |
140 | (_rhs ('Empty "no instance of 'Component on ???")) | 140 | (_rhs ('Empty "no instance of 'Component on ???")) |
141 | \(i :: _) -> case'Nat | 141 | (\(i :: _) -> case'Nat |
142 | \_ -> _ :: _ | 142 | (\_ -> _ :: _) |
143 | (_rhs 'Unit) | 143 | (_rhs 'Unit) |
144 | \(j :: _) -> case'Nat | 144 | (\(j :: _) -> case'Nat |
145 | \_ -> _ :: _ | 145 | (\_ -> _ :: _) |
146 | (_rhs 'Unit) | 146 | (_rhs 'Unit) |
147 | \(k :: _) -> case'Nat | 147 | (\(k :: _) -> case'Nat |
148 | \_ -> _ :: _ | 148 | (\_ -> _ :: _) |
149 | (_rhs 'Unit) | 149 | (_rhs 'Unit) |
150 | \_ -> _rhs ('Empty "no instance of 'Component on ???") | 150 | (\_ -> _rhs ('Empty "no instance of 'Component on ???")) |
151 | k | 151 | k) |
152 | j | 152 | j) |
153 | i | 153 | i) |
154 | h | 154 | h) |
155 | c) | 155 | c) |
156 | b | 156 | b |
157 | (_rhs ('Empty "no instance of 'Component on ???"))) | 157 | (_rhs ('Empty "no instance of 'Component on ???")))) |
158 | a | 158 | a |
159 | (match'Bool | 159 | (match'Bool |
160 | \_ -> _ | 160 | (\_ -> _) |
161 | (_rhs 'Unit) | 161 | (_rhs 'Unit) |
162 | a | 162 | a |
163 | (_rhs ('Empty "no instance of 'Component on ???"))))))) | 163 | (_rhs ('Empty "no instance of 'Component on ???"))))))) |
164 | :: Type -> Type | 164 | :: Type -> Type |
165 | zero | 165 | zero |
166 | = (\ @a -> \ @_ -> match'Int | 166 | = (\ @a -> \ @_ -> match'Int |
167 | \_ -> _ | 167 | (\_ -> _) |
168 | (_rhs \(b := _rhs (fromInt 0 :: Int)) -> b) | 168 | (_rhs \(b := _rhs (fromInt 0 :: Int)) -> b) |
169 | a | 169 | a |
170 | (match'Word | 170 | (match'Word |
171 | \_ -> _ | 171 | (\_ -> _) |
172 | (_rhs \(c := _rhs (fromInt 0 :: Word)) -> c) | 172 | (_rhs \(c := _rhs (fromInt 0 :: Word)) -> c) |
173 | a | 173 | a |
174 | (match'Float | 174 | (match'Float |
175 | \_ -> _ | 175 | (\_ -> _) |
176 | (_rhs \(d := _rhs 0.0) -> d) | 176 | (_rhs \(d := _rhs 0.0) -> d) |
177 | a | 177 | a |
178 | (match'VecS | 178 | (match'VecS |
179 | \_ -> _ | 179 | (\_ -> _) |
180 | \(e :: _) (f :: _) -> match'Float | 180 | (\(e :: _) (f :: _) -> match'Float |
181 | \_ -> _ | 181 | (\_ -> _) |
182 | (case'Nat | 182 | (case'Nat |
183 | \_ -> _ :: _ | 183 | (\_ -> _ :: _) |
184 | (_rhs undefined) | 184 | (_rhs undefined) |
185 | \(g :: _) -> case'Nat | 185 | (\(g :: _) -> case'Nat |
186 | \_ -> _ :: _ | 186 | (\_ -> _ :: _) |
187 | (_rhs undefined) | 187 | (_rhs undefined) |
188 | \(h :: _) -> case'Nat | 188 | (\(h :: _) -> case'Nat |
189 | \_ -> _ :: _ | 189 | (\_ -> _ :: _) |
190 | (_rhs \(i := _rhs (V2 0.0 0.0)) -> i) | 190 | (_rhs \(i := _rhs (V2 0.0 0.0)) -> i) |
191 | \(j :: _) -> case'Nat | 191 | (\(j :: _) -> case'Nat |
192 | \_ -> _ :: _ | 192 | (\_ -> _ :: _) |
193 | (_rhs \(k := _rhs (V3 0.0 0.0 0.0)) -> k) | 193 | (_rhs \(k := _rhs (V3 0.0 0.0 0.0)) -> k) |
194 | \(l :: _) -> case'Nat | 194 | (\(l :: _) -> case'Nat |
195 | \_ -> _ :: _ | 195 | (\_ -> _ :: _) |
196 | (_rhs \(m := _rhs (V4 0.0 0.0 0.0 0.0)) -> m) | 196 | (_rhs \(m := _rhs (V4 0.0 0.0 0.0 0.0)) -> m) |
197 | \_ -> _rhs undefined | 197 | (\_ -> _rhs undefined) |
198 | l | 198 | l) |
199 | j | 199 | j) |
200 | h | 200 | h) |
201 | g | 201 | g) |
202 | f) | 202 | f) |
203 | e | 203 | e |
204 | (match'Bool | 204 | (match'Bool |
205 | \_ -> _ | 205 | (\_ -> _) |
206 | (case'Nat | 206 | (case'Nat |
207 | \_ -> _ :: _ | 207 | (\_ -> _ :: _) |
208 | (_rhs undefined) | 208 | (_rhs undefined) |
209 | \(n :: _) -> case'Nat | 209 | (\(n :: _) -> case'Nat |
210 | \_ -> _ :: _ | 210 | (\_ -> _ :: _) |
211 | (_rhs undefined) | 211 | (_rhs undefined) |
212 | \(o :: _) -> case'Nat | 212 | (\(o :: _) -> case'Nat |
213 | \_ -> _ :: _ | 213 | (\_ -> _ :: _) |
214 | (_rhs \(p := _rhs (V2 False False)) -> p) | 214 | (_rhs \(p := _rhs (V2 False False)) -> p) |
215 | \(q :: _) -> case'Nat | 215 | (\(q :: _) -> case'Nat |
216 | \_ -> _ :: _ | 216 | (\_ -> _ :: _) |
217 | (_rhs \(r := _rhs (V3 False False False)) -> r) | 217 | (_rhs \(r := _rhs (V3 False False False)) -> r) |
218 | \(s :: _) -> case'Nat | 218 | (\(s :: _) -> case'Nat |
219 | \_ -> _ :: _ | 219 | (\_ -> _ :: _) |
220 | (_rhs \(t := _rhs (V4 False False False False)) -> t) | 220 | (_rhs \(t := _rhs (V4 False False False False)) -> t) |
221 | \_ -> _rhs undefined | 221 | (\_ -> _rhs undefined) |
222 | s | 222 | s) |
223 | q | 223 | q) |
224 | o | 224 | o) |
225 | n | 225 | n) |
226 | f) | 226 | f) |
227 | e | 227 | e |
228 | (_rhs undefined)) | 228 | (_rhs undefined))) |
229 | a | 229 | a |
230 | (match'Bool \_ -> _ (_rhs \(u := _rhs False) -> u) a (_rhs undefined)))))) | 230 | (match'Bool (\_ -> _) (_rhs \(u := _rhs False) -> u) a (_rhs undefined)))))) |
231 | :: forall v . Component v => v | 231 | :: forall v . Component v => v |
232 | one | 232 | one |
233 | = (\ @a -> \ @_ -> match'Int | 233 | = (\ @a -> \ @_ -> match'Int |
234 | \_ -> _ | 234 | (\_ -> _) |
235 | (_rhs \(b := _rhs (fromInt 1 :: Int)) -> b) | 235 | (_rhs \(b := _rhs (fromInt 1 :: Int)) -> b) |
236 | a | 236 | a |
237 | (match'Word | 237 | (match'Word |
238 | \_ -> _ | 238 | (\_ -> _) |
239 | (_rhs \(c := _rhs (fromInt 1 :: Word)) -> c) | 239 | (_rhs \(c := _rhs (fromInt 1 :: Word)) -> c) |
240 | a | 240 | a |
241 | (match'Float | 241 | (match'Float |
242 | \_ -> _ | 242 | (\_ -> _) |
243 | (_rhs \(d := _rhs 1.0) -> d) | 243 | (_rhs \(d := _rhs 1.0) -> d) |
244 | a | 244 | a |
245 | (match'VecS | 245 | (match'VecS |
246 | \_ -> _ | 246 | (\_ -> _) |
247 | \(e :: _) (f :: _) -> match'Float | 247 | (\(e :: _) (f :: _) -> match'Float |
248 | \_ -> _ | 248 | (\_ -> _) |
249 | (case'Nat | 249 | (case'Nat |
250 | \_ -> _ :: _ | 250 | (\_ -> _ :: _) |
251 | (_rhs undefined) | 251 | (_rhs undefined) |
252 | \(g :: _) -> case'Nat | 252 | (\(g :: _) -> case'Nat |
253 | \_ -> _ :: _ | 253 | (\_ -> _ :: _) |
254 | (_rhs undefined) | 254 | (_rhs undefined) |
255 | \(h :: _) -> case'Nat | 255 | (\(h :: _) -> case'Nat |
256 | \_ -> _ :: _ | 256 | (\_ -> _ :: _) |
257 | (_rhs \(i := _rhs (V2 1.0 1.0)) -> i) | 257 | (_rhs \(i := _rhs (V2 1.0 1.0)) -> i) |
258 | \(j :: _) -> case'Nat | 258 | (\(j :: _) -> case'Nat |
259 | \_ -> _ :: _ | 259 | (\_ -> _ :: _) |
260 | (_rhs \(k := _rhs (V3 1.0 1.0 1.0)) -> k) | 260 | (_rhs \(k := _rhs (V3 1.0 1.0 1.0)) -> k) |
261 | \(l :: _) -> case'Nat | 261 | (\(l :: _) -> case'Nat |
262 | \_ -> _ :: _ | 262 | (\_ -> _ :: _) |
263 | (_rhs \(m := _rhs (V4 1.0 1.0 1.0 1.0)) -> m) | 263 | (_rhs \(m := _rhs (V4 1.0 1.0 1.0 1.0)) -> m) |
264 | \_ -> _rhs undefined | 264 | (\_ -> _rhs undefined) |
265 | l | 265 | l) |
266 | j | 266 | j) |
267 | h | 267 | h) |
268 | g | 268 | g) |
269 | f) | 269 | f) |
270 | e | 270 | e |
271 | (match'Bool | 271 | (match'Bool |
272 | \_ -> _ | 272 | (\_ -> _) |
273 | (case'Nat | 273 | (case'Nat |
274 | \_ -> _ :: _ | 274 | (\_ -> _ :: _) |
275 | (_rhs undefined) | 275 | (_rhs undefined) |
276 | \(n :: _) -> case'Nat | 276 | (\(n :: _) -> case'Nat |
277 | \_ -> _ :: _ | 277 | (\_ -> _ :: _) |
278 | (_rhs undefined) | 278 | (_rhs undefined) |
279 | \(o :: _) -> case'Nat | 279 | (\(o :: _) -> case'Nat |
280 | \_ -> _ :: _ | 280 | (\_ -> _ :: _) |
281 | (_rhs \(p := _rhs (V2 True True)) -> p) | 281 | (_rhs \(p := _rhs (V2 True True)) -> p) |
282 | \(q :: _) -> case'Nat | 282 | (\(q :: _) -> case'Nat |
283 | \_ -> _ :: _ | 283 | (\_ -> _ :: _) |
284 | (_rhs \(r := _rhs (V3 True True True)) -> r) | 284 | (_rhs \(r := _rhs (V3 True True True)) -> r) |
285 | \(s :: _) -> case'Nat | 285 | (\(s :: _) -> case'Nat |
286 | \_ -> _ :: _ | 286 | (\_ -> _ :: _) |
287 | (_rhs \(t := _rhs (V4 True True True True)) -> t) | 287 | (_rhs \(t := _rhs (V4 True True True True)) -> t) |
288 | \_ -> _rhs undefined | 288 | (\_ -> _rhs undefined) |
289 | s | 289 | s) |
290 | q | 290 | q) |
291 | o | 291 | o) |
292 | n | 292 | n) |
293 | f) | 293 | f) |
294 | e | 294 | e |
295 | (_rhs undefined)) | 295 | (_rhs undefined))) |
296 | a | 296 | a |
297 | (match'Bool \_ -> _ (_rhs \(u := _rhs True) -> u) a (_rhs undefined)))))) | 297 | (match'Bool (\_ -> _) (_rhs \(u := _rhs True) -> u) a (_rhs undefined)))))) |
298 | :: forall v . Component v => v | 298 | :: forall v . Component v => v |
299 | 'Integral | 299 | 'Integral |
300 | = (\(a :: _) -> match'Int | 300 | = (\(a :: _) -> match'Int |
301 | \_ -> _ | 301 | (\_ -> _) |
302 | (_rhs 'Unit) | 302 | (_rhs 'Unit) |
303 | a | 303 | a |
304 | (match'Word | 304 | (match'Word |
305 | \_ -> _ | 305 | (\_ -> _) |
306 | (_rhs 'Unit) | 306 | (_rhs 'Unit) |
307 | a | 307 | a |
308 | (_rhs ('Empty "no instance of 'Integral on ???")))) | 308 | (_rhs ('Empty "no instance of 'Integral on ???")))) |
309 | :: Type -> Type | 309 | :: Type -> Type |
310 | 'Floating | 310 | 'Floating |
311 | = (\(a :: _) -> match'Float | 311 | = (\(a :: _) -> match'Float |
312 | \_ -> _ | 312 | (\_ -> _) |
313 | (_rhs 'Unit) | 313 | (_rhs 'Unit) |
314 | a | 314 | a |
315 | (match'VecS | 315 | (match'VecS |
316 | \_ -> _ | 316 | (\_ -> _) |
317 | \(b :: _) (c :: _) -> match'Float | 317 | (\(b :: _) (c :: _) -> match'Float |
318 | \_ -> _ | 318 | (\_ -> _) |
319 | (case'Nat | 319 | (case'Nat |
320 | \_ -> _ :: _ | 320 | (\_ -> _ :: _) |
321 | (_rhs ('Empty "no instance of 'Floating on ???")) | 321 | (_rhs ('Empty "no instance of 'Floating on ???")) |
322 | \(d :: _) -> case'Nat | 322 | (\(d :: _) -> case'Nat |
323 | \_ -> _ :: _ | 323 | (\_ -> _ :: _) |
324 | (_rhs ('Empty "no instance of 'Floating on ???")) | 324 | (_rhs ('Empty "no instance of 'Floating on ???")) |
325 | \(e :: _) -> case'Nat | 325 | (\(e :: _) -> case'Nat |
326 | \_ -> _ :: _ | 326 | (\_ -> _ :: _) |
327 | (_rhs 'Unit) | 327 | (_rhs 'Unit) |
328 | \(f :: _) -> case'Nat | 328 | (\(f :: _) -> case'Nat |
329 | \_ -> _ :: _ | 329 | (\_ -> _ :: _) |
330 | (_rhs 'Unit) | 330 | (_rhs 'Unit) |
331 | \(g :: _) -> case'Nat | 331 | (\(g :: _) -> case'Nat |
332 | \_ -> _ :: _ | 332 | (\_ -> _ :: _) |
333 | (_rhs 'Unit) | 333 | (_rhs 'Unit) |
334 | \_ -> _rhs ('Empty "no instance of 'Floating on ???") | 334 | (\_ -> _rhs ('Empty "no instance of 'Floating on ???")) |
335 | g | 335 | g) |
336 | f | 336 | f) |
337 | e | 337 | e) |
338 | d | 338 | d) |
339 | c) | 339 | c) |
340 | b | 340 | b |
341 | (_rhs ('Empty "no instance of 'Floating on ???")) | 341 | (_rhs ('Empty "no instance of 'Floating on ???"))) |
342 | a | 342 | a |
343 | (match'Mat | 343 | (match'Mat |
344 | \_ -> _ | 344 | (\_ -> _) |
345 | \(h :: _) (i :: _) (j :: _) -> case'Nat | 345 | (\(h :: _) (i :: _) (j :: _) -> case'Nat |
346 | \_ -> _ :: _ | 346 | (\_ -> _ :: _) |
347 | (_rhs ('Empty "no instance of 'Floating on ???")) | 347 | (_rhs ('Empty "no instance of 'Floating on ???")) |
348 | \(k :: _) -> case'Nat | 348 | (\(k :: _) -> case'Nat |
349 | \_ -> _ :: _ | 349 | (\_ -> _ :: _) |
350 | (_rhs ('Empty "no instance of 'Floating on ???")) | 350 | (_rhs ('Empty "no instance of 'Floating on ???")) |
351 | \(l :: _) -> case'Nat | 351 | (\(l :: _) -> case'Nat |
352 | \_ -> _ :: _ | 352 | (\_ -> _ :: _) |
353 | (case'Nat | 353 | (case'Nat |
354 | \_ -> _ :: _ | 354 | (\_ -> _ :: _) |
355 | (_rhs ('Empty "no instance of 'Floating on ???")) | 355 | (_rhs ('Empty "no instance of 'Floating on ???")) |
356 | \(m :: _) -> case'Nat | 356 | (\(m :: _) -> case'Nat |
357 | \_ -> _ :: _ | 357 | (\_ -> _ :: _) |
358 | (_rhs ('Empty "no instance of 'Floating on ???")) | 358 | (_rhs ('Empty "no instance of 'Floating on ???")) |
359 | \(n :: _) -> case'Nat | 359 | (\(n :: _) -> case'Nat |
360 | \_ -> _ :: _ | 360 | (\_ -> _ :: _) |
361 | (match'Float | 361 | (match'Float |
362 | \_ -> _ | 362 | (\_ -> _) |
363 | (_rhs 'Unit) | 363 | (_rhs 'Unit) |
364 | j | 364 | j |
365 | (_rhs ('Empty "no instance of 'Floating on ???"))) | 365 | (_rhs ('Empty "no instance of 'Floating on ???"))) |
366 | \(o :: _) -> case'Nat | 366 | (\(o :: _) -> case'Nat |
367 | \_ -> _ :: _ | 367 | (\_ -> _ :: _) |
368 | (match'Float | 368 | (match'Float |
369 | \_ -> _ | 369 | (\_ -> _) |
370 | (_rhs 'Unit) | 370 | (_rhs 'Unit) |
371 | j | 371 | j |
372 | (_rhs ('Empty "no instance of 'Floating on ???"))) | 372 | (_rhs ('Empty "no instance of 'Floating on ???"))) |
373 | \(p :: _) -> case'Nat | 373 | (\(p :: _) -> case'Nat |
374 | \_ -> _ :: _ | 374 | (\_ -> _ :: _) |
375 | (match'Float | 375 | (match'Float |
376 | \_ -> _ | 376 | (\_ -> _) |
377 | (_rhs 'Unit) | 377 | (_rhs 'Unit) |
378 | j | 378 | j |
379 | (_rhs ('Empty "no instance of 'Floating on ???"))) | 379 | (_rhs ('Empty "no instance of 'Floating on ???"))) |
380 | \_ -> _rhs ('Empty "no instance of 'Floating on ???") | 380 | (\_ -> _rhs ('Empty "no instance of 'Floating on ???")) |
381 | p | 381 | p) |
382 | o | 382 | o) |
383 | n | 383 | n) |
384 | m | 384 | m) |
385 | i) | 385 | i) |
386 | \(q :: _) -> case'Nat | 386 | (\(q :: _) -> case'Nat |
387 | \_ -> _ :: _ | 387 | (\_ -> _ :: _) |
388 | (case'Nat | 388 | (case'Nat |
389 | \_ -> _ :: _ | 389 | (\_ -> _ :: _) |
390 | (_rhs ('Empty "no instance of 'Floating on ???")) | 390 | (_rhs ('Empty "no instance of 'Floating on ???")) |
391 | \(r :: _) -> case'Nat | 391 | (\(r :: _) -> case'Nat |
392 | \_ -> _ :: _ | 392 | (\_ -> _ :: _) |
393 | (_rhs ('Empty "no instance of 'Floating on ???")) | 393 | (_rhs ('Empty "no instance of 'Floating on ???")) |
394 | \(s :: _) -> case'Nat | 394 | (\(s :: _) -> case'Nat |
395 | \_ -> _ :: _ | 395 | (\_ -> _ :: _) |
396 | (match'Float | 396 | (match'Float |
397 | \_ -> _ | 397 | (\_ -> _) |
398 | (_rhs 'Unit) | 398 | (_rhs 'Unit) |
399 | j | 399 | j |
400 | (_rhs ('Empty "no instance of 'Floating on ???"))) | 400 | (_rhs ('Empty "no instance of 'Floating on ???"))) |
401 | \(t :: _) -> case'Nat | 401 | (\(t :: _) -> case'Nat |
402 | \_ -> _ :: _ | 402 | (\_ -> _ :: _) |
403 | (match'Float | 403 | (match'Float |
404 | \_ -> _ | 404 | (\_ -> _) |
405 | (_rhs 'Unit) | 405 | (_rhs 'Unit) |
406 | j | 406 | j |
407 | (_rhs ('Empty "no instance of 'Floating on ???"))) | 407 | (_rhs ('Empty "no instance of 'Floating on ???"))) |
408 | \(u :: _) -> case'Nat | 408 | (\(u :: _) -> case'Nat |
409 | \_ -> _ :: _ | 409 | (\_ -> _ :: _) |
410 | (match'Float | 410 | (match'Float |
411 | \_ -> _ | 411 | (\_ -> _) |
412 | (_rhs 'Unit) | 412 | (_rhs 'Unit) |
413 | j | 413 | j |
414 | (_rhs ('Empty "no instance of 'Floating on ???"))) | 414 | (_rhs ('Empty "no instance of 'Floating on ???"))) |
415 | \_ -> _rhs ('Empty "no instance of 'Floating on ???") | 415 | (\_ -> _rhs ('Empty "no instance of 'Floating on ???")) |
416 | u | 416 | u) |
417 | t | 417 | t) |
418 | s | 418 | s) |
419 | r | 419 | r) |
420 | i) | 420 | i) |
421 | \(v :: _) -> case'Nat | 421 | (\(v :: _) -> case'Nat |
422 | \_ -> _ :: _ | 422 | (\_ -> _ :: _) |
423 | (case'Nat | 423 | (case'Nat |
424 | \_ -> _ :: _ | 424 | (\_ -> _ :: _) |
425 | (_rhs ('Empty "no instance of 'Floating on ???")) | 425 | (_rhs ('Empty "no instance of 'Floating on ???")) |
426 | \(w :: _) -> case'Nat | 426 | (\(w :: _) -> case'Nat |
427 | \_ -> _ :: _ | 427 | (\_ -> _ :: _) |
428 | (_rhs ('Empty "no instance of 'Floating on ???")) | 428 | (_rhs ('Empty "no instance of 'Floating on ???")) |
429 | \(x :: _) -> case'Nat | 429 | (\(x :: _) -> case'Nat |
430 | \_ -> _ :: _ | 430 | (\_ -> _ :: _) |
431 | (match'Float | 431 | (match'Float |
432 | \_ -> _ | 432 | (\_ -> _) |
433 | (_rhs 'Unit) | 433 | (_rhs 'Unit) |
434 | j | 434 | j |
435 | (_rhs ('Empty "no instance of 'Floating on ???"))) | 435 | (_rhs ('Empty "no instance of 'Floating on ???"))) |
436 | \(y :: _) -> case'Nat | 436 | (\(y :: _) -> case'Nat |
437 | \_ -> _ :: _ | 437 | (\_ -> _ :: _) |
438 | (match'Float | 438 | (match'Float |
439 | \_ -> _ | 439 | (\_ -> _) |
440 | (_rhs 'Unit) | 440 | (_rhs 'Unit) |
441 | j | 441 | j |
442 | (_rhs ('Empty "no instance of 'Floating on ???"))) | 442 | (_rhs ('Empty "no instance of 'Floating on ???"))) |
443 | \(z :: _) -> case'Nat | 443 | (\(z :: _) -> case'Nat |
444 | \_ -> _ :: _ | 444 | (\_ -> _ :: _) |
445 | (match'Float | 445 | (match'Float |
446 | \_ -> _ | 446 | (\_ -> _) |
447 | (_rhs 'Unit) | 447 | (_rhs 'Unit) |
448 | j | 448 | j |
449 | (_rhs ('Empty "no instance of 'Floating on ???"))) | 449 | (_rhs ('Empty "no instance of 'Floating on ???"))) |
450 | \_ -> _rhs ('Empty "no instance of 'Floating on ???") | 450 | (\_ -> _rhs ('Empty "no instance of 'Floating on ???")) |
451 | z | 451 | z) |
452 | y | 452 | y) |
453 | x | 453 | x) |
454 | w | 454 | w) |
455 | i) | 455 | i) |
456 | \_ -> _rhs ('Empty "no instance of 'Floating on ???") | 456 | (\_ -> _rhs ('Empty "no instance of 'Floating on ???")) |
457 | v | 457 | v) |
458 | q | 458 | q) |
459 | l | 459 | l) |
460 | k | 460 | k) |
461 | h | 461 | h) |
462 | a | 462 | a |
463 | (_rhs ('Empty "no instance of 'Floating on ???"))))) | 463 | (_rhs ('Empty "no instance of 'Floating on ???"))))) |
464 | :: Type -> Type | 464 | :: Type -> Type |
@@ -646,37 +646,37 @@ PrimNoise3 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 3) Float | |||
646 | PrimNoise4 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 4) Float | 646 | PrimNoise4 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 4) Float |
647 | head | 647 | head |
648 | = \(a :: _) -> case'List | 648 | = \(a :: _) -> case'List |
649 | \_ -> _ :: _ | 649 | (\_ -> _ :: _) |
650 | (_rhs undefined) | 650 | (_rhs undefined) |
651 | \(b :: _) -> \_ -> _rhs b | 651 | (\(b :: _) -> \_ -> _rhs b) |
652 | a | 652 | a |
653 | ++ | 653 | ++ |
654 | = \(a :: _) (b :: _) -> case'List | 654 | = \(a :: _) (b :: _) -> case'List |
655 | \_ -> _ :: _ | 655 | (\_ -> _ :: _) |
656 | (_rhs b) | 656 | (_rhs b) |
657 | \(c :: _) (d :: _) -> _rhs (c : d ++ b) | 657 | (\(c :: _) (d :: _) -> _rhs (c : d ++ b)) |
658 | a | 658 | a |
659 | foldr | 659 | foldr |
660 | = \(a :: _) (b :: _) (c :: _) -> case'List | 660 | = \(a :: _) (b :: _) (c :: _) -> case'List |
661 | \_ -> _ :: _ | 661 | (\_ -> _ :: _) |
662 | (_rhs b) | 662 | (_rhs b) |
663 | \(d :: _) (e :: _) -> _rhs (a d (foldr a b e)) | 663 | (\(d :: _) (e :: _) -> _rhs (a d (foldr a b e))) |
664 | c | 664 | c |
665 | concat = _rhs (foldr ++ []) | 665 | concat = _rhs (foldr ++ []) |
666 | map | 666 | map |
667 | = \(a :: _) (b :: _) -> case'List | 667 | = \(a :: _) (b :: _) -> case'List |
668 | \_ -> _ :: _ | 668 | (\_ -> _ :: _) |
669 | (_rhs []) | 669 | (_rhs []) |
670 | \(c :: _) (d :: _) -> _rhs (a c : map a d) | 670 | (\(c :: _) (d :: _) -> _rhs (a c : map a d)) |
671 | b | 671 | b |
672 | concatMap | 672 | concatMap |
673 | = (\(a :: _) (b :: _) -> _rhs (concat (map a b))) | 673 | = (\(a :: _) (b :: _) -> _rhs (concat (map a b))) |
674 | :: forall (c :: _) (d :: _) . (c -> [d]) -> [c] -> [d] | 674 | :: forall (c :: _) (d :: _) . (c -> [d]) -> [c] -> [d] |
675 | len | 675 | len |
676 | = \(a :: _) -> case'List | 676 | = \(a :: _) -> case'List |
677 | \_ -> _ :: _ | 677 | (\_ -> _ :: _) |
678 | (_rhs (fromInt 0)) | 678 | (_rhs (fromInt 0)) |
679 | \_ (b :: _) -> _rhs (fromInt 1 `primAddInt` len b) | 679 | (\_ (b :: _) -> _rhs (fromInt 1 `primAddInt` len b)) |
680 | a | 680 | a |
681 | data Maybe (_ :: Type) :: Type where | 681 | data Maybe (_ :: Type) :: Type where |
682 | Nothing :: forall a . Maybe a | 682 | Nothing :: forall a . Maybe a |
@@ -702,7 +702,7 @@ mapPrimitives | |||
702 | :: forall (b :: _) (c :: _) (d :: _) | 702 | :: forall (b :: _) (c :: _) (d :: _) |
703 | . (b -> c) -> PrimitiveStream d b -> PrimitiveStream d c | 703 | . (b -> c) -> PrimitiveStream d b -> PrimitiveStream d c |
704 | 'ListElem | 704 | 'ListElem |
705 | = (\(a :: _) -> match'List \_ -> _ \(b :: _) -> _rhs b a undefined) | 705 | = (\(a :: _) -> match'List (\_ -> _) (\(b :: _) -> _rhs b) a undefined) |
706 | :: Type -> Type | 706 | :: Type -> Type |
707 | fetchArrays | 707 | fetchArrays |
708 | :: forall (a :: _) (b :: _) (c :: _) | 708 | :: forall (a :: _) (b :: _) (c :: _) |
@@ -718,9 +718,9 @@ data SimpleFragment (_ :: Type) :: Type where | |||
718 | SimpleFragment :: forall a . Vec (fromInt 3) Float -> a -> SimpleFragment a | 718 | SimpleFragment :: forall a . Vec (fromInt 3) Float -> a -> SimpleFragment a |
719 | 'Fragment = \(a :: _) (b :: _) -> _rhs ('Vector a ('Maybe ('SimpleFragment b))) | 719 | 'Fragment = \(a :: _) (b :: _) -> _rhs ('Vector a ('Maybe ('SimpleFragment b))) |
720 | sFragmentCoords | 720 | sFragmentCoords |
721 | = \(a :: _) -> case'SimpleFragment \_ -> _ :: _ \(b :: _) -> \_ -> _rhs b a | 721 | = \(a :: _) -> case'SimpleFragment (\_ -> _ :: _) (\(b :: _) -> \_ -> _rhs b) a |
722 | sFragmentValue | 722 | sFragmentValue |
723 | = \(a :: _) -> case'SimpleFragment \_ -> _ :: _ \_ (b :: _) -> _rhs b a | 723 | = \(a :: _) -> case'SimpleFragment (\_ -> _ :: _) (\_ (b :: _) -> _rhs b) a |
724 | 'FragmentStream = \(a :: _) (b :: _) -> _rhs ['Fragment a b] | 724 | 'FragmentStream = \(a :: _) (b :: _) -> _rhs ['Fragment a b] |
725 | customizeDepth | 725 | customizeDepth |
726 | :: forall (a :: _) (b :: _) . (a -> Float) -> Fragment b a -> Fragment b a | 726 | :: forall (a :: _) (b :: _) . (a -> Float) -> Fragment b a -> Fragment b a |
@@ -746,8 +746,8 @@ data ImageKind :: Type where | |||
746 | Stencil :: ImageKind | 746 | Stencil :: ImageKind |
747 | imageType | 747 | imageType |
748 | = (\(a :: _) -> case'ImageKind | 748 | = (\(a :: _) -> case'ImageKind |
749 | \_ -> _ :: _ | 749 | (\_ -> _ :: _) |
750 | \(b :: _) -> _rhs b | 750 | (\(b :: _) -> _rhs b) |
751 | (_rhs 'Float) | 751 | (_rhs 'Float) |
752 | (_rhs 'Int) | 752 | (_rhs 'Int) |
753 | a) | 753 | a) |
@@ -768,41 +768,41 @@ data Swizz :: Type where | |||
768 | Sw :: Swizz | 768 | Sw :: Swizz |
769 | swizzscalar | 769 | swizzscalar |
770 | = (\(a :: _) (b :: _) -> case'VecS | 770 | = (\(a :: _) (b :: _) -> case'VecS |
771 | \_ -> \_ -> _ :: _ | 771 | (\_ -> \_ -> _ :: _) |
772 | \(c :: _) (d :: _) -> case'Swizz | 772 | (\(c :: _) (d :: _) -> case'Swizz |
773 | \_ -> _ :: _ | 773 | (\_ -> _ :: _) |
774 | (_rhs c) | 774 | (_rhs c) |
775 | (_rhs d) | 775 | (_rhs d) |
776 | (_rhs undefined) | 776 | (_rhs undefined) |
777 | (_rhs undefined) | 777 | (_rhs undefined) |
778 | b | 778 | b) |
779 | \(e :: _) (f :: _) (g :: _) -> case'Swizz | 779 | (\(e :: _) (f :: _) (g :: _) -> case'Swizz |
780 | \_ -> _ :: _ | 780 | (\_ -> _ :: _) |
781 | (_rhs e) | 781 | (_rhs e) |
782 | (_rhs f) | 782 | (_rhs f) |
783 | (_rhs g) | 783 | (_rhs g) |
784 | (_rhs undefined) | 784 | (_rhs undefined) |
785 | b | 785 | b) |
786 | \(h :: _) (i :: _) (j :: _) (k :: _) -> case'Swizz | 786 | (\(h :: _) (i :: _) (j :: _) (k :: _) -> case'Swizz |
787 | \_ -> _ :: _ | 787 | (\_ -> _ :: _) |
788 | (_rhs h) | 788 | (_rhs h) |
789 | (_rhs i) | 789 | (_rhs i) |
790 | (_rhs j) | 790 | (_rhs j) |
791 | (_rhs k) | 791 | (_rhs k) |
792 | b | 792 | b) |
793 | a) | 793 | a) |
794 | :: forall (l :: _) (m :: _) . Vec m l -> Swizz -> l | 794 | :: forall (l :: _) (m :: _) . Vec m l -> Swizz -> l |
795 | definedVec | 795 | definedVec |
796 | = (\(a :: _) -> case'VecS | 796 | = (\(a :: _) -> case'VecS |
797 | \_ -> \_ -> _ :: _ | 797 | (\_ -> \_ -> _ :: _) |
798 | \_ -> \_ -> _rhs True | 798 | (\_ -> \_ -> _rhs True) |
799 | \_ -> \_ -> \_ -> _rhs True | 799 | (\_ -> \_ -> \_ -> _rhs True) |
800 | \_ -> \_ -> \_ -> \_ -> _rhs True | 800 | (\_ -> \_ -> \_ -> \_ -> _rhs True) |
801 | a) | 801 | a) |
802 | :: forall (b :: _) (c :: _) . Vec c b -> Bool | 802 | :: forall (b :: _) (c :: _) . Vec c b -> Bool |
803 | swizzvector | 803 | swizzvector |
804 | = (\(a :: _) (b :: _) -> case'Bool | 804 | = (\(a :: _) (b :: _) -> case'Bool |
805 | \_ -> _ :: _ | 805 | (\_ -> _ :: _) |
806 | (_rhs undefined) | 806 | (_rhs undefined) |
807 | (_rhs (mapVec (swizzscalar a) b)) | 807 | (_rhs (mapVec (swizzscalar a) b)) |
808 | (definedVec a)) | 808 | (definedVec a)) |
@@ -929,17 +929,17 @@ rasterizePrimitive | |||
929 | rasterizePrimitives | 929 | rasterizePrimitives |
930 | = \(a :: _) (b :: _) (c :: _) -> _rhs (concat (map (rasterizePrimitive b a) c)) | 930 | = \(a :: _) (b :: _) (c :: _) -> _rhs (concat (map (rasterizePrimitive b a) c)) |
931 | 'ImageLC | 931 | 'ImageLC |
932 | = (\(a :: _) -> match'Image \_ -> _ \(b :: _) -> \_ -> _rhs b a undefined) | 932 | = (\(a :: _) -> match'Image (\_ -> _) (\(b :: _) -> \_ -> _rhs b) a undefined) |
933 | :: Type -> Nat | 933 | :: Type -> Nat |
934 | allSame | 934 | allSame |
935 | = (\(a :: _) -> case'List | 935 | = (\(a :: _) -> case'List |
936 | \_ -> _ :: _ | 936 | (\_ -> _ :: _) |
937 | (_rhs 'Unit) | 937 | (_rhs 'Unit) |
938 | \(b :: _) (c :: _) -> case'List | 938 | (\(b :: _) (c :: _) -> case'List |
939 | \_ -> _ :: _ | 939 | (\_ -> _ :: _) |
940 | (_rhs 'Unit) | 940 | (_rhs 'Unit) |
941 | \(d :: _) (e :: _) -> _rhs ('T2 (b `'EqCTt` d) (allSame (d : e))) | 941 | (\(d :: _) (e :: _) -> _rhs ('T2 (b `'EqCTt` d) (allSame (d : e)))) |
942 | c | 942 | c) |
943 | a) | 943 | a) |
944 | :: forall (f :: _) . [f] -> Type | 944 | :: forall (f :: _) . [f] -> Type |
945 | sameLayerCounts = \(a :: _) -> _rhs (allSame (map 'ImageLC a)) | 945 | sameLayerCounts = \(a :: _) -> _rhs (allSame (map 'ImageLC a)) |
@@ -947,18 +947,22 @@ data FrameBuffer (_ :: Nat) (_ :: [ImageKind]) :: Type where | |||
947 | 947 | ||
948 | imageType' | 948 | imageType' |
949 | = (\(a :: _) -> case'List | 949 | = (\(a :: _) -> case'List |
950 | \_ -> _ :: _ | 950 | (\_ -> _ :: _) |
951 | (_rhs (map imageType a)) | 951 | (_rhs (map imageType a)) |
952 | \(b :: _) (c :: _) -> case'ImageKind | 952 | (\(b :: _) (c :: _) -> case'ImageKind |
953 | \_ -> _ :: _ | 953 | (\_ -> _ :: _) |
954 | \_ -> _rhs (map imageType a) | 954 | (\_ -> _rhs (map imageType a)) |
955 | (_rhs (map imageType c)) | 955 | (_rhs (map imageType c)) |
956 | (_rhs (map imageType a)) | 956 | (_rhs (map imageType a)) |
957 | b | 957 | b) |
958 | a) | 958 | a) |
959 | :: [ImageKind] -> [Type] | 959 | :: [ImageKind] -> [Type] |
960 | 'FragmentOperationKind | 960 | 'FragmentOperationKind |
961 | = (\(a :: _) -> match'FragmentOperation \_ -> _ \(b :: _) -> _rhs b a undefined) | 961 | = (\(a :: _) -> match'FragmentOperation |
962 | (\_ -> _) | ||
963 | (\(b :: _) -> _rhs b) | ||
964 | a | ||
965 | undefined) | ||
962 | :: Type -> ImageKind | 966 | :: Type -> ImageKind |
963 | Accumulate | 967 | Accumulate |
964 | :: forall (a :: _) (b :: Nat) (c :: [Type]) | 968 | :: forall (a :: _) (b :: Nat) (c :: [Type]) |
@@ -969,14 +973,14 @@ accumulateWith = \(a :: _) (b :: _) -> _rhs (HCons a (HCons b HNil)) | |||
969 | overlay | 973 | overlay |
970 | = \(a :: _) (b :: _) -> hlistConsCase | 974 | = \(a :: _) (b :: _) -> hlistConsCase |
971 | (_ :: _) | 975 | (_ :: _) |
972 | \(c :: _) (d :: _) -> hlistConsCase | 976 | (\(c :: _) (d :: _) -> hlistConsCase |
973 | (_ :: _) | 977 | (_ :: _) |
974 | \(e :: _) (f :: _) -> hlistNilCase (_ :: _) (_rhs (Accumulate c e a)) f | 978 | (\(e :: _) (f :: _) -> hlistNilCase (_ :: _) (_rhs (Accumulate c e a)) f) |
975 | d | 979 | d) |
976 | b | 980 | b |
977 | infixl 0 overlay | 981 | infixl 0 overlay |
978 | 'GetImageKind | 982 | 'GetImageKind |
979 | = (\(a :: _) -> match'Image \_ -> _ \_ (b :: _) -> _rhs b a undefined) | 983 | = (\(a :: _) -> match'Image (\_ -> _) (\_ (b :: _) -> _rhs b) a undefined) |
980 | :: Type -> ImageKind | 984 | :: Type -> ImageKind |
981 | FrameBuffer | 985 | FrameBuffer |
982 | :: forall (a :: [Type]) | 986 | :: forall (a :: [Type]) |
diff --git a/testdata/Internals.out b/testdata/Internals.out index cf9fb31e..c55525d7 100644 --- a/testdata/Internals.out +++ b/testdata/Internals.out | |||
@@ -51,141 +51,149 @@ primModInt :: Int -> Int -> Int | |||
51 | primSqrtFloat :: Float -> Float | 51 | primSqrtFloat :: Float -> Float |
52 | primRound :: Float -> Int | 52 | primRound :: Float -> Int |
53 | primIfThenElse | 53 | primIfThenElse |
54 | = (\(a :: _) (b :: _) (c :: _) -> case'Bool \_ -> _ :: _ (_rhs c) (_rhs b) a) | 54 | = (\(a :: _) (b :: _) (c :: _) -> case'Bool (\_ -> _ :: _) (_rhs c) (_rhs b) a) |
55 | :: forall (d :: _) . Bool -> d -> d -> d | 55 | :: forall (d :: _) . Bool -> d -> d -> d |
56 | isEQ | 56 | isEQ |
57 | = \(a :: _) -> case'Ordering | 57 | = \(a :: _) -> case'Ordering |
58 | \_ -> _ :: _ | 58 | (\_ -> _ :: _) |
59 | (_rhs False) | 59 | (_rhs False) |
60 | (_rhs True) | 60 | (_rhs True) |
61 | (_rhs False) | 61 | (_rhs False) |
62 | a | 62 | a |
63 | 'Num | 63 | 'Num |
64 | = (\(a :: _) -> match'Int | 64 | = (\(a :: _) -> match'Int |
65 | \_ -> _ | 65 | (\_ -> _) |
66 | (_rhs 'Unit) | 66 | (_rhs 'Unit) |
67 | a | 67 | a |
68 | (match'Word | 68 | (match'Word |
69 | \_ -> _ | 69 | (\_ -> _) |
70 | (_rhs 'Unit) | 70 | (_rhs 'Unit) |
71 | a | 71 | a |
72 | (match'Float | 72 | (match'Float |
73 | \_ -> _ | 73 | (\_ -> _) |
74 | (_rhs 'Unit) | 74 | (_rhs 'Unit) |
75 | a | 75 | a |
76 | (match'Nat | 76 | (match'Nat |
77 | \_ -> _ | 77 | (\_ -> _) |
78 | (_rhs 'Unit) | 78 | (_rhs 'Unit) |
79 | a | 79 | a |
80 | (_rhs ('Empty "no instance of 'Num on ???")))))) | 80 | (_rhs ('Empty "no instance of 'Num on ???")))))) |
81 | :: Type -> Type | 81 | :: Type -> Type |
82 | fromInt | 82 | fromInt |
83 | = (\ @a -> \ @_ -> match'Int | 83 | = (\ @a -> \ @_ -> match'Int |
84 | \_ -> _ | 84 | (\_ -> _) |
85 | (_rhs \(b := _rhs \(c :: _) -> c) -> b) | 85 | (_rhs \(b := _rhs \(c :: _) -> c) -> b) |
86 | a | 86 | a |
87 | (match'Word | 87 | (match'Word |
88 | \_ -> _ | 88 | (\_ -> _) |
89 | (_rhs \(d := _rhs primIntToWord) -> d) | 89 | (_rhs \(d := _rhs primIntToWord) -> d) |
90 | a | 90 | a |
91 | (match'Float | 91 | (match'Float |
92 | \_ -> _ | 92 | (\_ -> _) |
93 | (_rhs \(e := _rhs primIntToFloat) -> e) | 93 | (_rhs \(e := _rhs primIntToFloat) -> e) |
94 | a | 94 | a |
95 | (match'Nat \_ -> _ (_rhs \(f := _rhs primIntToNat) -> f) a (_rhs undefined))))) | 95 | (match'Nat |
96 | (\_ -> _) | ||
97 | (_rhs \(f := _rhs primIntToNat) -> f) | ||
98 | a | ||
99 | (_rhs undefined))))) | ||
96 | :: forall g . Num g => Int -> g | 100 | :: forall g . Num g => Int -> g |
97 | compare | 101 | compare |
98 | = (\ @a -> \ @_ -> match'Int | 102 | = (\ @a -> \ @_ -> match'Int |
99 | \_ -> _ | 103 | (\_ -> _) |
100 | (_rhs \(b := _rhs primCompareInt) -> b) | 104 | (_rhs \(b := _rhs primCompareInt) -> b) |
101 | a | 105 | a |
102 | (match'Word | 106 | (match'Word |
103 | \_ -> _ | 107 | (\_ -> _) |
104 | (_rhs \(c := _rhs primCompareWord) -> c) | 108 | (_rhs \(c := _rhs primCompareWord) -> c) |
105 | a | 109 | a |
106 | (match'Float | 110 | (match'Float |
107 | \_ -> _ | 111 | (\_ -> _) |
108 | (_rhs \(d := _rhs primCompareFloat) -> d) | 112 | (_rhs \(d := _rhs primCompareFloat) -> d) |
109 | a | 113 | a |
110 | (match'Nat \_ -> _ (_rhs \(e := _rhs undefined) -> e) a (_rhs undefined))))) | 114 | (match'Nat (\_ -> _) (_rhs \(e := _rhs undefined) -> e) a (_rhs undefined))))) |
111 | :: forall f . Num f => f -> f -> Ordering | 115 | :: forall f . Num f => f -> f -> Ordering |
112 | negate | 116 | negate |
113 | = (\ @a -> \ @_ -> match'Int | 117 | = (\ @a -> \ @_ -> match'Int |
114 | \_ -> _ | 118 | (\_ -> _) |
115 | (_rhs \(b := _rhs primNegateInt) -> b) | 119 | (_rhs \(b := _rhs primNegateInt) -> b) |
116 | a | 120 | a |
117 | (match'Word | 121 | (match'Word |
118 | \_ -> _ | 122 | (\_ -> _) |
119 | (_rhs \(c := _rhs primNegateWord) -> c) | 123 | (_rhs \(c := _rhs primNegateWord) -> c) |
120 | a | 124 | a |
121 | (match'Float | 125 | (match'Float |
122 | \_ -> _ | 126 | (\_ -> _) |
123 | (_rhs \(d := _rhs primNegateFloat) -> d) | 127 | (_rhs \(d := _rhs primNegateFloat) -> d) |
124 | a | 128 | a |
125 | (match'Nat \_ -> _ (_rhs \(e := _rhs undefined) -> e) a (_rhs undefined))))) | 129 | (match'Nat (\_ -> _) (_rhs \(e := _rhs undefined) -> e) a (_rhs undefined))))) |
126 | :: forall f . Num f => f -> f | 130 | :: forall f . Num f => f -> f |
127 | 'Eq | 131 | 'Eq |
128 | = (\(a :: _) -> match'String | 132 | = (\(a :: _) -> match'String |
129 | \_ -> _ | 133 | (\_ -> _) |
130 | (_rhs 'Unit) | 134 | (_rhs 'Unit) |
131 | a | 135 | a |
132 | (match'Char | 136 | (match'Char |
133 | \_ -> _ | 137 | (\_ -> _) |
134 | (_rhs 'Unit) | 138 | (_rhs 'Unit) |
135 | a | 139 | a |
136 | (match'Int | 140 | (match'Int |
137 | \_ -> _ | 141 | (\_ -> _) |
138 | (_rhs 'Unit) | 142 | (_rhs 'Unit) |
139 | a | 143 | a |
140 | (match'Float | 144 | (match'Float |
141 | \_ -> _ | 145 | (\_ -> _) |
142 | (_rhs 'Unit) | 146 | (_rhs 'Unit) |
143 | a | 147 | a |
144 | (match'Bool | 148 | (match'Bool |
145 | \_ -> _ | 149 | (\_ -> _) |
146 | (_rhs 'Unit) | 150 | (_rhs 'Unit) |
147 | a | 151 | a |
148 | (match'Nat | 152 | (match'Nat |
149 | \_ -> _ | 153 | (\_ -> _) |
150 | (_rhs 'Unit) | 154 | (_rhs 'Unit) |
151 | a | 155 | a |
152 | (_rhs ('Empty "no instance of 'Eq on ???")))))))) | 156 | (_rhs ('Empty "no instance of 'Eq on ???")))))))) |
153 | :: Type -> Type | 157 | :: Type -> Type |
154 | == | 158 | == |
155 | = (\ @a -> \ @_ -> match'String | 159 | = (\ @a -> \ @_ -> match'String |
156 | \_ -> _ | 160 | (\_ -> _) |
157 | (_rhs \(b := \(c :: _) (d :: _) -> _rhs (isEQ (primCompareString c d))) -> b) | 161 | (_rhs \(b := \(c :: _) (d :: _) -> _rhs (isEQ (primCompareString c d))) -> b) |
158 | a | 162 | a |
159 | (match'Char | 163 | (match'Char |
160 | \_ -> _ | 164 | (\_ -> _) |
161 | (_rhs \(e := \(f :: _) (g :: _) -> _rhs (isEQ (primCompareChar f g))) -> e) | 165 | (_rhs \(e := \(f :: _) (g :: _) -> _rhs (isEQ (primCompareChar f g))) -> e) |
162 | a | 166 | a |
163 | (match'Int | 167 | (match'Int |
164 | \_ -> _ | 168 | (\_ -> _) |
165 | (_rhs \(h := \(i :: _) (j :: _) -> _rhs (isEQ (primCompareInt i j))) -> h) | 169 | (_rhs \(h := \(i :: _) (j :: _) -> _rhs (isEQ (primCompareInt i j))) -> h) |
166 | a | 170 | a |
167 | (match'Float | 171 | (match'Float |
168 | \_ -> _ | 172 | (\_ -> _) |
169 | (_rhs \(k := \(l :: _) (m :: _) -> _rhs (isEQ (primCompareFloat l m))) -> k) | 173 | (_rhs \(k := \(l :: _) (m :: _) -> _rhs (isEQ (primCompareFloat l m))) -> k) |
170 | a | 174 | a |
171 | (match'Bool | 175 | (match'Bool |
172 | \_ -> _ | 176 | (\_ -> _) |
173 | (_rhs | 177 | (_rhs |
174 | \(n | 178 | \(n |
175 | := \(o :: _) (p :: _) -> case'Bool | 179 | := \(o :: _) (p :: _) -> case'Bool |
176 | \_ -> _ :: _ | 180 | (\_ -> _ :: _) |
177 | (case'Bool \_ -> _ :: _ (_rhs True) (_rhs False) p) | 181 | (case'Bool (\_ -> _ :: _) (_rhs True) (_rhs False) p) |
178 | (case'Bool \_ -> _ :: _ (_rhs False) (_rhs True) p) | 182 | (case'Bool (\_ -> _ :: _) (_rhs False) (_rhs True) p) |
179 | o) -> n) | 183 | o) -> n) |
180 | a | 184 | a |
181 | (match'Nat | 185 | (match'Nat |
182 | \_ -> _ | 186 | (\_ -> _) |
183 | (_rhs | 187 | (_rhs |
184 | \(q | 188 | \(q |
185 | := \(r :: _) (s :: _) -> case'Nat | 189 | := \(r :: _) (s :: _) -> case'Nat |
186 | \_ -> _ :: _ | 190 | (\_ -> _ :: _) |
187 | (case'Nat \_ -> _ :: _ (_rhs True) \_ -> _rhs False s) | 191 | (case'Nat (\_ -> _ :: _) (_rhs True) (\_ -> _rhs False) s) |
188 | \(t :: _) -> case'Nat \_ -> _ :: _ (_rhs False) \(u :: _) -> _rhs (t == u) s | 192 | (\(t :: _) -> case'Nat |
193 | (\_ -> _ :: _) | ||
194 | (_rhs False) | ||
195 | (\(u :: _) -> _rhs (t == u)) | ||
196 | s) | ||
189 | r) -> q) | 197 | r) -> q) |
190 | a | 198 | a |
191 | (_rhs undefined))))))) | 199 | (_rhs undefined))))))) |
diff --git a/testdata/Material.out b/testdata/Material.out index 9f503a21..67f8b209 100644 --- a/testdata/Material.out +++ b/testdata/Material.out | |||
@@ -6,13 +6,16 @@ data Entity :: Type where | |||
6 | -> Vec (fromInt 4) Float | 6 | -> Vec (fromInt 4) Float |
7 | -> Vec (fromInt 3) Float -> Vec (fromInt 4) Float -> Entity | 7 | -> Vec (fromInt 3) Float -> Vec (fromInt 4) Float -> Entity |
8 | eAmbientLight | 8 | eAmbientLight |
9 | = \(a :: _) -> case'Entity \_ -> _ :: _ \(b :: _) -> \_ -> \_ -> \_ -> _rhs b a | 9 | = \(a :: _) -> case'Entity |
10 | (\_ -> _ :: _) | ||
11 | (\(b :: _) -> \_ -> \_ -> \_ -> _rhs b) | ||
12 | a | ||
10 | eDirectedLight | 13 | eDirectedLight |
11 | = \(a :: _) -> case'Entity \_ -> _ :: _ \_ (b :: _) -> \_ -> \_ -> _rhs b a | 14 | = \(a :: _) -> case'Entity (\_ -> _ :: _) (\_ (b :: _) -> \_ -> \_ -> _rhs b) a |
12 | eLightDir | 15 | eLightDir |
13 | = \(a :: _) -> case'Entity \_ -> _ :: _ \_ -> \_ (b :: _) -> \_ -> _rhs b a | 16 | = \(a :: _) -> case'Entity (\_ -> _ :: _) (\_ -> \_ (b :: _) -> \_ -> _rhs b) a |
14 | eShaderRGBA | 17 | eShaderRGBA |
15 | = \(a :: _) -> case'Entity \_ -> _ :: _ \_ -> \_ -> \_ (b :: _) -> _rhs b a | 18 | = \(a :: _) -> case'Entity (\_ -> _ :: _) (\_ -> \_ -> \_ (b :: _) -> _rhs b) a |
16 | data WaveType :: Type where | 19 | data WaveType :: Type where |
17 | WT_Sin :: WaveType | 20 | WT_Sin :: WaveType |
18 | WT_Triangle :: WaveType | 21 | WT_Triangle :: WaveType |
@@ -114,58 +117,59 @@ data StageAttrs :: Type where | |||
114 | -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs | 117 | -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs |
115 | saBlend | 118 | saBlend |
116 | = \(a :: _) -> case'StageAttrs | 119 | = \(a :: _) -> case'StageAttrs |
117 | \_ -> _ :: _ | 120 | (\_ -> _ :: _) |
118 | \(b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b | 121 | (\(b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
122 | b) | ||
119 | a | 123 | a |
120 | saRGBGen | 124 | saRGBGen |
121 | = \(a :: _) -> case'StageAttrs | 125 | = \(a :: _) -> case'StageAttrs |
122 | \_ -> _ :: _ | 126 | (\_ -> _ :: _) |
123 | \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b | 127 | (\_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b) |
124 | a | 128 | a |
125 | saAlphaGen | 129 | saAlphaGen |
126 | = \(a :: _) -> case'StageAttrs | 130 | = \(a :: _) -> case'StageAttrs |
127 | \_ -> _ :: _ | 131 | (\_ -> _ :: _) |
128 | \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b | 132 | (\_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b) |
129 | a | 133 | a |
130 | saTCGen | 134 | saTCGen |
131 | = \(a :: _) -> case'StageAttrs | 135 | = \(a :: _) -> case'StageAttrs |
132 | \_ -> _ :: _ | 136 | (\_ -> _ :: _) |
133 | \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b | 137 | (\_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b) |
134 | a | 138 | a |
135 | saTCMod | 139 | saTCMod |
136 | = \(a :: _) -> case'StageAttrs | 140 | = \(a :: _) -> case'StageAttrs |
137 | \_ -> _ :: _ | 141 | (\_ -> _ :: _) |
138 | \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b | 142 | (\_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b) |
139 | a | 143 | a |
140 | saTexture | 144 | saTexture |
141 | = \(a :: _) -> case'StageAttrs | 145 | = \(a :: _) -> case'StageAttrs |
142 | \_ -> _ :: _ | 146 | (\_ -> _ :: _) |
143 | \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b | 147 | (\_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b) |
144 | a | 148 | a |
145 | saDepthWrite | 149 | saDepthWrite |
146 | = \(a :: _) -> case'StageAttrs | 150 | = \(a :: _) -> case'StageAttrs |
147 | \_ -> _ :: _ | 151 | (\_ -> _ :: _) |
148 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs b | 152 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs b) |
149 | a | 153 | a |
150 | saDepthFunc | 154 | saDepthFunc |
151 | = \(a :: _) -> case'StageAttrs | 155 | = \(a :: _) -> case'StageAttrs |
152 | \_ -> _ :: _ | 156 | (\_ -> _ :: _) |
153 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs b | 157 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs b) |
154 | a | 158 | a |
155 | saAlphaFunc | 159 | saAlphaFunc |
156 | = \(a :: _) -> case'StageAttrs | 160 | = \(a :: _) -> case'StageAttrs |
157 | \_ -> _ :: _ | 161 | (\_ -> _ :: _) |
158 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs b | 162 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs b) |
159 | a | 163 | a |
160 | saDepthMaskExplicit | 164 | saDepthMaskExplicit |
161 | = \(a :: _) -> case'StageAttrs | 165 | = \(a :: _) -> case'StageAttrs |
162 | \_ -> _ :: _ | 166 | (\_ -> _ :: _) |
163 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs b | 167 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs b) |
164 | a | 168 | a |
165 | saTextureUniform | 169 | saTextureUniform |
166 | = \(a :: _) -> case'StageAttrs | 170 | = \(a :: _) -> case'StageAttrs |
167 | \_ -> _ :: _ | 171 | (\_ -> _ :: _) |
168 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs b | 172 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs b) |
169 | a | 173 | a |
170 | defaultStageAttrs | 174 | defaultStageAttrs |
171 | = _rhs | 175 | = _rhs |
@@ -193,76 +197,76 @@ data CommonAttrs :: Type where | |||
193 | -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs | 197 | -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs |
194 | caSkyParms | 198 | caSkyParms |
195 | = \(a :: _) -> case'CommonAttrs | 199 | = \(a :: _) -> case'CommonAttrs |
196 | \_ -> _ :: _ | 200 | (\_ -> _ :: _) |
197 | \(b | 201 | (\(b |
198 | :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 202 | :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
199 | b | 203 | b) |
200 | a | 204 | a |
201 | caFogParms | 205 | caFogParms |
202 | = \(a :: _) -> case'CommonAttrs | 206 | = \(a :: _) -> case'CommonAttrs |
203 | \_ -> _ :: _ | 207 | (\_ -> _ :: _) |
204 | \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 208 | (\_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
205 | b | 209 | b) |
206 | a | 210 | a |
207 | caPortal | 211 | caPortal |
208 | = \(a :: _) -> case'CommonAttrs | 212 | = \(a :: _) -> case'CommonAttrs |
209 | \_ -> _ :: _ | 213 | (\_ -> _ :: _) |
210 | \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 214 | (\_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
211 | b | 215 | b) |
212 | a | 216 | a |
213 | caSort | 217 | caSort |
214 | = \(a :: _) -> case'CommonAttrs | 218 | = \(a :: _) -> case'CommonAttrs |
215 | \_ -> _ :: _ | 219 | (\_ -> _ :: _) |
216 | \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 220 | (\_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
217 | b | 221 | b) |
218 | a | 222 | a |
219 | caEntityMergable | 223 | caEntityMergable |
220 | = \(a :: _) -> case'CommonAttrs | 224 | = \(a :: _) -> case'CommonAttrs |
221 | \_ -> _ :: _ | 225 | (\_ -> _ :: _) |
222 | \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 226 | (\_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
223 | b | 227 | b) |
224 | a | 228 | a |
225 | caFogOnly | 229 | caFogOnly |
226 | = \(a :: _) -> case'CommonAttrs | 230 | = \(a :: _) -> case'CommonAttrs |
227 | \_ -> _ :: _ | 231 | (\_ -> _ :: _) |
228 | \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 232 | (\_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
229 | b | 233 | b) |
230 | a | 234 | a |
231 | caCull | 235 | caCull |
232 | = \(a :: _) -> case'CommonAttrs | 236 | = \(a :: _) -> case'CommonAttrs |
233 | \_ -> _ :: _ | 237 | (\_ -> _ :: _) |
234 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 238 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
235 | b | 239 | b) |
236 | a | 240 | a |
237 | caDeformVertexes | 241 | caDeformVertexes |
238 | = \(a :: _) -> case'CommonAttrs | 242 | = \(a :: _) -> case'CommonAttrs |
239 | \_ -> _ :: _ | 243 | (\_ -> _ :: _) |
240 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs | 244 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs |
241 | b | 245 | b) |
242 | a | 246 | a |
243 | caNoMipMaps | 247 | caNoMipMaps |
244 | = \(a :: _) -> case'CommonAttrs | 248 | = \(a :: _) -> case'CommonAttrs |
245 | \_ -> _ :: _ | 249 | (\_ -> _ :: _) |
246 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs | 250 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs |
247 | b | 251 | b) |
248 | a | 252 | a |
249 | caPolygonOffset | 253 | caPolygonOffset |
250 | = \(a :: _) -> case'CommonAttrs | 254 | = \(a :: _) -> case'CommonAttrs |
251 | \_ -> _ :: _ | 255 | (\_ -> _ :: _) |
252 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs | 256 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs |
253 | b | 257 | b) |
254 | a | 258 | a |
255 | caStages | 259 | caStages |
256 | = \(a :: _) -> case'CommonAttrs | 260 | = \(a :: _) -> case'CommonAttrs |
257 | \_ -> _ :: _ | 261 | (\_ -> _ :: _) |
258 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs | 262 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs |
259 | b | 263 | b) |
260 | a | 264 | a |
261 | caIsSky | 265 | caIsSky |
262 | = \(a :: _) -> case'CommonAttrs | 266 | = \(a :: _) -> case'CommonAttrs |
263 | \_ -> _ :: _ | 267 | (\_ -> _ :: _) |
264 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs | 268 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs |
265 | b | 269 | b) |
266 | a | 270 | a |
267 | defaultCommonAttrs | 271 | defaultCommonAttrs |
268 | = _rhs | 272 | = _rhs |
diff --git a/testdata/Prelude.out b/testdata/Prelude.out index 88464b4e..9f79ca67 100644 --- a/testdata/Prelude.out +++ b/testdata/Prelude.out | |||
@@ -13,43 +13,43 @@ $ = _rhs \(a :: _) (b :: _) -> a b | |||
13 | uncurry | 13 | uncurry |
14 | = \(a :: _) (b :: _) -> hlistConsCase | 14 | = \(a :: _) (b :: _) -> hlistConsCase |
15 | (_ :: _) | 15 | (_ :: _) |
16 | \(c :: _) (d :: _) -> hlistConsCase | 16 | (\(c :: _) (d :: _) -> hlistConsCase |
17 | (_ :: _) | 17 | (_ :: _) |
18 | \(e :: _) (f :: _) -> hlistNilCase (_ :: _) (_rhs (a c e)) f | 18 | (\(e :: _) (f :: _) -> hlistNilCase (_ :: _) (_rhs (a c e)) f) |
19 | d | 19 | d) |
20 | b | 20 | b |
21 | *** | 21 | *** |
22 | = \(a :: _) (b :: _) (c :: _) -> hlistConsCase | 22 | = \(a :: _) (b :: _) (c :: _) -> hlistConsCase |
23 | (_ :: _) | 23 | (_ :: _) |
24 | \(d :: _) (e :: _) -> hlistConsCase | 24 | (\(d :: _) (e :: _) -> hlistConsCase |
25 | (_ :: _) | 25 | (_ :: _) |
26 | \(f :: _) (g :: _) -> hlistNilCase | 26 | (\(f :: _) (g :: _) -> hlistNilCase |
27 | (_ :: _) | 27 | (_ :: _) |
28 | (_rhs (HCons (a d) (HCons (b f) HNil))) | 28 | (_rhs (HCons (a d) (HCons (b f) HNil))) |
29 | g | 29 | g) |
30 | e | 30 | e) |
31 | c | 31 | c |
32 | pi = _rhs 3.141592653589793 | 32 | pi = _rhs 3.141592653589793 |
33 | zip | 33 | zip |
34 | = (\(a :: _) (b :: _) -> case'List | 34 | = (\(a :: _) (b :: _) -> case'List |
35 | \_ -> _ :: _ | 35 | (\_ -> _ :: _) |
36 | (_rhs []) | 36 | (_rhs []) |
37 | \(c :: _) (d :: _) -> case'List | 37 | (\(c :: _) (d :: _) -> case'List |
38 | \_ -> _ :: _ | 38 | (\_ -> _ :: _) |
39 | (_rhs []) | 39 | (_rhs []) |
40 | \(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip d f) | 40 | (\(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip d f)) |
41 | b | 41 | b) |
42 | a) | 42 | a) |
43 | :: forall (g :: _) (h :: _) . [g] -> [h] -> [HList (g : h : '[])] | 43 | :: forall (g :: _) (h :: _) . [g] -> [h] -> [HList (g : h : '[])] |
44 | unzip | 44 | unzip |
45 | = (\(a :: _) -> case'List | 45 | = (\(a :: _) -> case'List |
46 | \_ -> _ :: _ | 46 | (\_ -> _ :: _) |
47 | (_rhs (HCons [] (HCons [] HNil))) | 47 | (_rhs (HCons [] (HCons [] HNil))) |
48 | \(b :: _) (c :: _) -> hlistConsCase | 48 | (\(b :: _) (c :: _) -> hlistConsCase |
49 | (_ :: _) | 49 | (_ :: _) |
50 | \(d :: _) (e :: _) -> hlistConsCase | 50 | (\(d :: _) (e :: _) -> hlistConsCase |
51 | (_ :: _) | 51 | (_ :: _) |
52 | \(f :: _) (g :: _) -> hlistNilCase | 52 | (\(f :: _) (g :: _) -> hlistNilCase |
53 | (_ :: _) | 53 | (_ :: _) |
54 | (_rhs | 54 | (_rhs |
55 | \(h := _rhs (unzip c)) | 55 | \(h := _rhs (unzip c)) |
@@ -57,105 +57,109 @@ unzip | |||
57 | := _rhs | 57 | := _rhs |
58 | ((\(k :: _) -> hlistConsCase | 58 | ((\(k :: _) -> hlistConsCase |
59 | (_ :: _) | 59 | (_ :: _) |
60 | \_ (l :: _) -> hlistConsCase | 60 | (\_ (l :: _) -> hlistConsCase |
61 | (_ :: _) | 61 | (_ :: _) |
62 | \(m :: _) (n :: _) -> hlistNilCase (_ :: _) m n | 62 | (\(m :: _) (n :: _) -> hlistNilCase (_ :: _) m n) |
63 | l | 63 | l) |
64 | k) | 64 | k) |
65 | h)) | 65 | h)) |
66 | (j | 66 | (j |
67 | := _rhs | 67 | := _rhs |
68 | ((\(o :: _) -> hlistConsCase | 68 | ((\(o :: _) -> hlistConsCase |
69 | (_ :: _) | 69 | (_ :: _) |
70 | \(p :: _) (q :: _) -> hlistConsCase | 70 | (\(p :: _) (q :: _) -> hlistConsCase |
71 | (_ :: _) | 71 | (_ :: _) |
72 | \_ (r :: _) -> hlistNilCase (_ :: _) p r | 72 | (\_ (r :: _) -> hlistNilCase (_ :: _) p r) |
73 | q | 73 | q) |
74 | o) | 74 | o) |
75 | h)) -> HCons (d : j) (HCons (f : i) HNil)) | 75 | h)) -> HCons (d : j) (HCons (f : i) HNil)) |
76 | g | 76 | g) |
77 | e | 77 | e) |
78 | b | 78 | b) |
79 | a) | 79 | a) |
80 | :: forall (s :: _) (t :: _) . [HList (s : t : '[])] -> HList ([s] : [t] : '[]) | 80 | :: forall (s :: _) (t :: _) . [HList (s : t : '[])] -> HList ([s] : [t] : '[]) |
81 | filter | 81 | filter |
82 | = \(a :: _) (b :: _) -> case'List | 82 | = \(a :: _) (b :: _) -> case'List |
83 | \_ -> _ :: _ | 83 | (\_ -> _ :: _) |
84 | (_rhs []) | 84 | (_rhs []) |
85 | \(c :: _) (d :: _) -> _rhs | 85 | (\(c :: _) (d :: _) -> _rhs |
86 | ((\(e :: _) -> case'Bool \_ -> _ :: _ (filter a d) (c : filter a d) e) (a c)) | 86 | ((\(e :: _) -> case'Bool (\_ -> _ :: _) (filter a d) (c : filter a d) e) (a c))) |
87 | b | 87 | b |
88 | tail | 88 | tail |
89 | = (\(a :: _) -> case'List \_ -> _ :: _ (_rhs undefined) \_ (b :: _) -> _rhs b a) | 89 | = (\(a :: _) -> case'List |
90 | (\_ -> _ :: _) | ||
91 | (_rhs undefined) | ||
92 | (\_ (b :: _) -> _rhs b) | ||
93 | a) | ||
90 | :: forall (c :: _) . [c] -> [c] | 94 | :: forall (c :: _) . [c] -> [c] |
91 | pairs | 95 | pairs |
92 | = (\(a :: _) -> _rhs (zip a (tail a))) | 96 | = (\(a :: _) -> _rhs (zip a (tail a))) |
93 | :: forall (b :: _) . [b] -> [HList (b : b : '[])] | 97 | :: forall (b :: _) . [b] -> [HList (b : b : '[])] |
94 | foldl' | 98 | foldl' |
95 | = \(a :: _) (b :: _) (c :: _) -> case'List | 99 | = \(a :: _) (b :: _) (c :: _) -> case'List |
96 | \_ -> _ :: _ | 100 | (\_ -> _ :: _) |
97 | (_rhs b) | 101 | (_rhs b) |
98 | \(d :: _) (e :: _) -> _rhs (foldl' a (a b d) e) | 102 | (\(d :: _) (e :: _) -> _rhs (foldl' a (a b d) e)) |
99 | c | 103 | c |
100 | foldr1 | 104 | foldr1 |
101 | = \(a :: _) (b :: _) -> case'List | 105 | = \(a :: _) (b :: _) -> case'List |
102 | \_ -> _ :: _ | 106 | (\_ -> _ :: _) |
103 | (_rhs undefined) | 107 | (_rhs undefined) |
104 | \(c :: _) (d :: _) -> _rhs (foldr a c d) | 108 | (\(c :: _) (d :: _) -> _rhs (foldr a c d)) |
105 | b | 109 | b |
106 | split | 110 | split |
107 | = \(a :: _) -> case'List | 111 | = \(a :: _) -> case'List |
108 | \_ -> _ :: _ | 112 | (\_ -> _ :: _) |
109 | (_rhs (HCons [] (HCons [] HNil))) | 113 | (_rhs (HCons [] (HCons [] HNil))) |
110 | \(b :: _) (c :: _) -> _rhs | 114 | (\(b :: _) (c :: _) -> _rhs |
111 | \(d := _rhs (split c)) | 115 | \(d := _rhs (split c)) |
112 | (e | 116 | (e |
113 | := _rhs | 117 | := _rhs |
114 | ((\(g :: _) -> hlistConsCase | 118 | ((\(g :: _) -> hlistConsCase |
115 | (_ :: _) | 119 | (_ :: _) |
116 | \_ (h :: _) -> hlistConsCase | 120 | (\_ (h :: _) -> hlistConsCase |
117 | (_ :: _) | 121 | (_ :: _) |
118 | \(i :: _) (j :: _) -> hlistNilCase (_ :: _) i j | 122 | (\(i :: _) (j :: _) -> hlistNilCase (_ :: _) i j) |
119 | h | 123 | h) |
120 | g) | 124 | g) |
121 | d)) | 125 | d)) |
122 | (f | 126 | (f |
123 | := _rhs | 127 | := _rhs |
124 | ((\(k :: _) -> hlistConsCase | 128 | ((\(k :: _) -> hlistConsCase |
125 | (_ :: _) | 129 | (_ :: _) |
126 | \(l :: _) (m :: _) -> hlistConsCase | 130 | (\(l :: _) (m :: _) -> hlistConsCase |
127 | (_ :: _) | 131 | (_ :: _) |
128 | \_ (n :: _) -> hlistNilCase (_ :: _) l n | 132 | (\_ (n :: _) -> hlistNilCase (_ :: _) l n) |
129 | m | 133 | m) |
130 | k) | 134 | k) |
131 | d)) -> HCons (b : e) (HCons f HNil) | 135 | d)) -> HCons (b : e) (HCons f HNil)) |
132 | a | 136 | a |
133 | mergeBy | 137 | mergeBy |
134 | = \(a :: _) (b :: _) (c :: _) -> case'List | 138 | = \(a :: _) (b :: _) (c :: _) -> case'List |
135 | \_ -> _ :: _ | 139 | (\_ -> _ :: _) |
136 | (_rhs c) | 140 | (_rhs c) |
137 | \(d :: _) (e :: _) -> case'List | 141 | (\(d :: _) (e :: _) -> case'List |
138 | \_ -> _ :: _ | 142 | (\_ -> _ :: _) |
139 | (_rhs b) | 143 | (_rhs b) |
140 | \(f :: _) (g :: _) -> _rhs | 144 | (\(f :: _) (g :: _) -> _rhs |
141 | ((\(h :: _) -> case'Ordering | 145 | ((\(h :: _) -> case'Ordering |
142 | \_ -> _ :: _ | 146 | (\_ -> _ :: _) |
143 | (d : mergeBy a e (f : g)) | 147 | (d : mergeBy a e (f : g)) |
144 | (f : mergeBy a (d : e) g) | 148 | (f : mergeBy a (d : e) g) |
145 | (f : mergeBy a (d : e) g) | 149 | (f : mergeBy a (d : e) g) |
146 | h) | 150 | h) |
147 | (a d f)) | 151 | (a d f))) |
148 | c | 152 | c) |
149 | b | 153 | b |
150 | sortBy | 154 | sortBy |
151 | = \(a :: _) (b :: _) -> case'List | 155 | = \(a :: _) (b :: _) -> case'List |
152 | \_ -> _ :: _ | 156 | (\_ -> _ :: _) |
153 | (_rhs []) | 157 | (_rhs []) |
154 | \(c :: _) (d :: _) -> case'List | 158 | (\(c :: _) (d :: _) -> case'List |
155 | \_ -> _ :: _ | 159 | (\_ -> _ :: _) |
156 | (_rhs (c : [])) | 160 | (_rhs (c : [])) |
157 | \_ -> \_ -> _rhs (uncurry (mergeBy a) ((sortBy a *** sortBy a) (split b))) | 161 | (\_ -> \_ -> _rhs (uncurry (mergeBy a) ((sortBy a *** sortBy a) (split b)))) |
158 | d | 162 | d) |
159 | b | 163 | b |
160 | iterate | 164 | iterate |
161 | = (\(a :: _) (b :: _) -> _rhs (b : iterate a (a b))) | 165 | = (\(a :: _) (b :: _) -> _rhs (b : iterate a (a b))) |
@@ -163,50 +167,50 @@ iterate | |||
163 | fst | 167 | fst |
164 | = \(a :: _) -> hlistConsCase | 168 | = \(a :: _) -> hlistConsCase |
165 | (_ :: _) | 169 | (_ :: _) |
166 | \(b :: _) (c :: _) -> hlistConsCase | 170 | (\(b :: _) (c :: _) -> hlistConsCase |
167 | (_ :: _) | 171 | (_ :: _) |
168 | \_ (d :: _) -> hlistNilCase (_ :: _) (_rhs b) d | 172 | (\_ (d :: _) -> hlistNilCase (_ :: _) (_rhs b) d) |
169 | c | 173 | c) |
170 | a | 174 | a |
171 | snd | 175 | snd |
172 | = \(a :: _) -> hlistConsCase | 176 | = \(a :: _) -> hlistConsCase |
173 | (_ :: _) | 177 | (_ :: _) |
174 | \_ (b :: _) -> hlistConsCase | 178 | (\_ (b :: _) -> hlistConsCase |
175 | (_ :: _) | 179 | (_ :: _) |
176 | \(c :: _) (d :: _) -> hlistNilCase (_ :: _) (_rhs c) d | 180 | (\(c :: _) (d :: _) -> hlistNilCase (_ :: _) (_rhs c) d) |
177 | b | 181 | b) |
178 | a | 182 | a |
179 | ||| = \(a :: _) (b :: _) -> case'Bool \_ -> _ :: _ (_rhs b) (_rhs True) a | 183 | ||| = \(a :: _) (b :: _) -> case'Bool (\_ -> _ :: _) (_rhs b) (_rhs True) a |
180 | infixr 2 ||| | 184 | infixr 2 ||| |
181 | &&& = \(a :: _) (b :: _) -> case'Bool \_ -> _ :: _ (_rhs False) (_rhs b) a | 185 | &&& = \(a :: _) (b :: _) -> case'Bool (\_ -> _ :: _) (_rhs False) (_rhs b) a |
182 | infixr 3 &&& | 186 | infixr 3 &&& |
183 | data RecItem :: Type where | 187 | data RecItem :: Type where |
184 | RecItem :: String -> Type -> RecItem | 188 | RecItem :: String -> Type -> RecItem |
185 | recItemType = \(a :: _) -> case'RecItem \_ -> _ :: _ \_ (b :: _) -> _rhs b a | 189 | recItemType = \(a :: _) -> case'RecItem (\_ -> _ :: _) (\_ (b :: _) -> _rhs b) a |
186 | data RecordC (_ :: [RecItem]) :: Type where | 190 | data RecordC (_ :: [RecItem]) :: Type where |
187 | RecordCons :: forall (a :: [RecItem]) . HList (map recItemType a) -> RecordC a | 191 | RecordCons :: forall (a :: [RecItem]) . HList (map recItemType a) -> RecordC a |
188 | isKeyC | 192 | isKeyC |
189 | = \(a :: _) (b :: _) (c :: _) -> case'List | 193 | = \(a :: _) (b :: _) (c :: _) -> case'List |
190 | \_ -> _ :: _ | 194 | (\_ -> _ :: _) |
191 | (_rhs ('Empty "")) | 195 | (_rhs ('Empty "")) |
192 | \(d :: _) (e :: _) -> case'RecItem | 196 | (\(d :: _) (e :: _) -> case'RecItem |
193 | \_ -> _ :: _ | 197 | (\_ -> _ :: _) |
194 | \(f :: _) (g :: _) -> _rhs | 198 | (\(f :: _) (g :: _) -> _rhs |
195 | (primIfThenElse (a == f) (b `'EqCTt` g) (isKeyC a b e)) | 199 | (primIfThenElse (a == f) (b `'EqCTt` g) (isKeyC a b e))) |
196 | d | 200 | d) |
197 | c | 201 | c |
198 | fstTup = _rhs (hlistConsCase (_ :: _) \(a :: _) -> \_ -> a) | 202 | fstTup = _rhs (hlistConsCase (_ :: _) \(a :: _) -> \_ -> a) |
199 | sndTup = _rhs (hlistConsCase (_ :: _) \_ (a :: _) -> a) | 203 | sndTup = _rhs (hlistConsCase (_ :: _) \_ (a :: _) -> a) |
200 | project | 204 | project |
201 | = (\ @(a :: _) @(b :: _) (c :: _) -> \ @_ (d :: _) -> case'List | 205 | = (\ @(a :: _) @(b :: _) (c :: _) -> \ @_ (d :: _) -> case'List |
202 | \_ -> _ :: _ | 206 | (\_ -> _ :: _) |
203 | (_rhs undefined) | 207 | (_rhs undefined) |
204 | \(e :: _) (f :: _) -> case'RecItem | 208 | (\(e :: _) (f :: _) -> case'RecItem |
205 | \_ -> _ :: _ | 209 | (\_ -> _ :: _) |
206 | \(g :: _) -> \_ -> case'RecordC | 210 | (\(g :: _) -> \_ -> case'RecordC |
207 | \_ -> _ :: _ | 211 | (\_ -> _ :: _) |
208 | \(h :: _) -> case'Bool | 212 | (\(h :: _) -> case'Bool |
209 | \_ -> _ :: _ | 213 | (\_ -> _ :: _) |
210 | (_rhs | 214 | (_rhs |
211 | (project | 215 | (project |
212 | @a | 216 | @a |
@@ -216,9 +220,9 @@ project | |||
216 | (RecordCons | 220 | (RecordCons |
217 | (sndTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h))))) | 221 | (sndTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h))))) |
218 | (_rhs (fstTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h))) | 222 | (_rhs (fstTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h))) |
219 | (c == g) | 223 | (c == g)) |
220 | d | 224 | d) |
221 | e | 225 | e) |
222 | b) | 226 | b) |
223 | :: forall (i :: _) (j :: [RecItem]) | 227 | :: forall (i :: _) (j :: [RecItem]) |
224 | . forall (k :: String) -> isKeyC k i j => RecordC j -> i | 228 | . forall (k :: String) -> isKeyC k i j => RecordC j -> i |
@@ -450,20 +454,20 @@ lookat | |||
450 | scale = \(a :: _) (b :: _) -> _rhs (b * V4 a a a 1.0) | 454 | scale = \(a :: _) (b :: _) -> _rhs (b * V4 a a a 1.0) |
451 | fromTo | 455 | fromTo |
452 | = (\(a :: _) (b :: _) -> case'Bool | 456 | = (\(a :: _) (b :: _) -> case'Bool |
453 | \_ -> _ :: _ | 457 | (\_ -> _ :: _) |
454 | (_rhs (a : fromTo (a + fromInt 1) b)) | 458 | (_rhs (a : fromTo (a + fromInt 1) b)) |
455 | (_rhs []) | 459 | (_rhs []) |
456 | (a > b)) | 460 | (a > b)) |
457 | :: Float -> Float -> [Float] | 461 | :: Float -> Float -> [Float] |
458 | !! | 462 | !! |
459 | = (\(a :: _) (b :: _) -> case'List | 463 | = (\(a :: _) (b :: _) -> case'List |
460 | \_ -> _ :: _ | 464 | (\_ -> _ :: _) |
461 | (_rhs undefined) | 465 | (_rhs undefined) |
462 | \(c :: _) (d :: _) -> case'Bool | 466 | (\(c :: _) (d :: _) -> case'Bool |
463 | \_ -> _ :: _ | 467 | (\_ -> _ :: _) |
464 | (_rhs (d !! (b - fromInt 1))) | 468 | (_rhs (d !! (b - fromInt 1))) |
465 | (_rhs c) | 469 | (_rhs c) |
466 | (fromInt 0 == b) | 470 | (fromInt 0 == b)) |
467 | a) | 471 | a) |
468 | :: forall (e :: _) . [e] -> Int -> e | 472 | :: forall (e :: _) . [e] -> Int -> e |
469 | main is not found | 473 | main is not found |
diff --git a/testdata/ambig.out b/testdata/ambig.out index 371868e6..f2146d1c 100644 --- a/testdata/ambig.out +++ b/testdata/ambig.out | |||
@@ -5,10 +5,10 @@ h | |||
5 | := _rhs | 5 | := _rhs |
6 | ((\(d :: _) -> hlistConsCase | 6 | ((\(d :: _) -> hlistConsCase |
7 | (_ :: _) | 7 | (_ :: _) |
8 | \(e :: _) (f :: _) -> hlistConsCase | 8 | (\(e :: _) (f :: _) -> hlistConsCase |
9 | (_ :: _) | 9 | (_ :: _) |
10 | \(g :: _) (h :: _) -> hlistNilCase (_ :: _) (a e g) h | 10 | (\(g :: _) (h :: _) -> hlistNilCase (_ :: _) (a e g) h) |
11 | f | 11 | f) |
12 | d) | 12 | d) |
13 | b)) -> c | 13 | b)) -> c |
14 | main is not found | 14 | main is not found |
diff --git a/testdata/complex.out b/testdata/complex.out index f6727829..8e93c8fe 100644 --- a/testdata/complex.out +++ b/testdata/complex.out | |||
@@ -11,18 +11,18 @@ polar | |||
11 | = (\(a :: _) (b :: _) -> _rhs (Complex a b)) :: Float -> Float -> Complex Polar | 11 | = (\(a :: _) (b :: _) -> _rhs (Complex a b)) :: Float -> Float -> Complex Polar |
12 | cabs | 12 | cabs |
13 | = (\ @(a :: _) (b :: _) -> case'Repr | 13 | = (\ @(a :: _) (b :: _) -> case'Repr |
14 | \_ -> _ :: _ | 14 | (\_ -> _ :: _) |
15 | (case'Complex | 15 | (case'Complex |
16 | \_ -> \_ -> _ :: _ | 16 | (\_ -> \_ -> _ :: _) |
17 | \(c :: _) (d :: _) -> _rhs (sqrt (c * c + d * d)) | 17 | (\(c :: _) (d :: _) -> _rhs (sqrt (c * c + d * d))) |
18 | b) | 18 | b) |
19 | (case'Complex \_ -> \_ -> _ :: _ \(e :: _) -> \_ -> _rhs e b) | 19 | (case'Complex (\_ -> \_ -> _ :: _) (\(e :: _) -> \_ -> _rhs e) b) |
20 | a) | 20 | a) |
21 | :: forall (f :: _) . Complex f -> Float | 21 | :: forall (f :: _) . Complex f -> Float |
22 | toPolar | 22 | toPolar |
23 | = (\(a :: _) -> case'Complex | 23 | = (\(a :: _) -> case'Complex |
24 | \_ -> \_ -> _ :: _ | 24 | (\_ -> \_ -> _ :: _) |
25 | \(b :: _) (c :: _) -> _rhs | 25 | (\(b :: _) (c :: _) -> _rhs |
26 | \(d := _rhs (sqrt (b * b + c * c))) -> primIfThenElse | 26 | \(d := _rhs (sqrt (b * b + c * c))) -> primIfThenElse |
27 | (b > 0.0) | 27 | (b > 0.0) |
28 | (polar d (atan (c / b))) | 28 | (polar d (atan (c / b))) |
@@ -38,28 +38,28 @@ toPolar | |||
38 | (primIfThenElse | 38 | (primIfThenElse |
39 | (b == 0.0 && c < 0.0) | 39 | (b == 0.0 && c < 0.0) |
40 | (polar d (fromInt 0 - pi / 2.0)) | 40 | (polar d (fromInt 0 - pi / 2.0)) |
41 | undefined)))) | 41 | undefined))))) |
42 | a) | 42 | a) |
43 | :: Complex Normal -> Complex Polar | 43 | :: Complex Normal -> Complex Polar |
44 | toNormal | 44 | toNormal |
45 | = (\(a :: _) -> case'Complex | 45 | = (\(a :: _) -> case'Complex |
46 | \_ -> \_ -> _ :: _ | 46 | (\_ -> \_ -> _ :: _) |
47 | \(b :: _) (c :: _) -> _rhs (Complex (b * cos c) (b * sin c)) | 47 | (\(b :: _) (c :: _) -> _rhs (Complex (b * cos c) (b * sin c))) |
48 | a) | 48 | a) |
49 | :: Complex Polar -> Complex Normal | 49 | :: Complex Polar -> Complex Normal |
50 | it_should_fail | 50 | it_should_fail |
51 | = \(a :: _) -> case'Complex \_ -> \_ -> _ :: _ \(b :: _) -> \_ -> _rhs b a | 51 | = \(a :: _) -> case'Complex (\_ -> \_ -> _ :: _) (\(b :: _) -> \_ -> _rhs b) a |
52 | add | 52 | add |
53 | = (\ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr | 53 | = (\ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr |
54 | \_ -> _ :: _ | 54 | (\_ -> _ :: _) |
55 | (case'Repr | 55 | (case'Repr |
56 | \_ -> _ :: _ | 56 | (\_ -> _ :: _) |
57 | (case'Complex | 57 | (case'Complex |
58 | \_ -> \_ -> _ :: _ | 58 | (\_ -> \_ -> _ :: _) |
59 | \(e :: _) (f :: _) -> case'Complex | 59 | (\(e :: _) (f :: _) -> case'Complex |
60 | \_ -> \_ -> _ :: _ | 60 | (\_ -> \_ -> _ :: _) |
61 | \(g :: _) (h :: _) -> _rhs (Complex (e + g) (f + h)) | 61 | (\(g :: _) (h :: _) -> _rhs (Complex (e + g) (f + h))) |
62 | d | 62 | d) |
63 | c) | 63 | c) |
64 | (_rhs undefined) | 64 | (_rhs undefined) |
65 | b) | 65 | b) |
@@ -68,15 +68,15 @@ add | |||
68 | :: forall (i :: _) (j :: _) . Complex i -> Complex j -> Complex i | 68 | :: forall (i :: _) (j :: _) . Complex i -> Complex j -> Complex i |
69 | mul | 69 | mul |
70 | = (\ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr | 70 | = (\ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr |
71 | \_ -> _ :: _ | 71 | (\_ -> _ :: _) |
72 | (case'Repr | 72 | (case'Repr |
73 | \_ -> _ :: _ | 73 | (\_ -> _ :: _) |
74 | (case'Complex | 74 | (case'Complex |
75 | \_ -> \_ -> _ :: _ | 75 | (\_ -> \_ -> _ :: _) |
76 | \(e :: _) (f :: _) -> case'Complex | 76 | (\(e :: _) (f :: _) -> case'Complex |
77 | \_ -> \_ -> _ :: _ | 77 | (\_ -> \_ -> _ :: _) |
78 | \(g :: _) (h :: _) -> _rhs (Complex (e * g - f * h) (f * g + e * h)) | 78 | (\(g :: _) (h :: _) -> _rhs (Complex (e * g - f * h) (f * g + e * h))) |
79 | d | 79 | d) |
80 | c) | 80 | c) |
81 | (_rhs undefined) | 81 | (_rhs undefined) |
82 | b) | 82 | b) |
diff --git a/testdata/data.out b/testdata/data.out index 3951ff90..04576355 100644 --- a/testdata/data.out +++ b/testdata/data.out | |||
@@ -10,18 +10,18 @@ data Data2 :: Type where | |||
10 | Data24 :: Data2 | 10 | Data24 :: Data2 |
11 | x | 11 | x |
12 | = \(a :: _) -> case'Data2 | 12 | = \(a :: _) -> case'Data2 |
13 | \_ -> _ :: _ | 13 | (\_ -> _ :: _) |
14 | \_ -> _rhs undefined | 14 | (\_ -> _rhs undefined) |
15 | \(b :: _) -> \_ -> _rhs b | 15 | (\(b :: _) -> \_ -> _rhs b) |
16 | \(c :: _) -> _rhs c | 16 | (\(c :: _) -> _rhs c) |
17 | (_rhs undefined) | 17 | (_rhs undefined) |
18 | a | 18 | a |
19 | y | 19 | y |
20 | = \(a :: _) -> case'Data2 | 20 | = \(a :: _) -> case'Data2 |
21 | \_ -> _ :: _ | 21 | (\_ -> _ :: _) |
22 | \_ -> _rhs undefined | 22 | (\_ -> _rhs undefined) |
23 | \_ (b :: _) -> _rhs b | 23 | (\_ (b :: _) -> _rhs b) |
24 | \_ -> _rhs undefined | 24 | (\_ -> _rhs undefined) |
25 | (_rhs undefined) | 25 | (_rhs undefined) |
26 | a | 26 | a |
27 | data Data5 (_ :: Type) (_ :: Type) (_ :: Type) :: Type where | 27 | data Data5 (_ :: Type) (_ :: Type) (_ :: Type) :: Type where |
@@ -30,24 +30,24 @@ data Data5 (_ :: Type) (_ :: Type) (_ :: Type) :: Type where | |||
30 | Data53 :: forall g h i . Int -> g -> Float -> h -> i -> Data5 g h i | 30 | Data53 :: forall g h i . Int -> g -> Float -> h -> i -> Data5 g h i |
31 | a5 | 31 | a5 |
32 | = \(a :: _) -> case'Data5 | 32 | = \(a :: _) -> case'Data5 |
33 | \_ -> _ :: _ | 33 | (\_ -> _ :: _) |
34 | \(b :: _) -> _rhs b | 34 | (\(b :: _) -> _rhs b) |
35 | \(c :: _) -> \_ -> \_ -> _rhs c | 35 | (\(c :: _) -> \_ -> \_ -> _rhs c) |
36 | \_ -> \_ -> \_ -> \_ -> \_ -> _rhs undefined | 36 | (\_ -> \_ -> \_ -> \_ -> \_ -> _rhs undefined) |
37 | a | 37 | a |
38 | b5 | 38 | b5 |
39 | = \(a :: _) -> case'Data5 | 39 | = \(a :: _) -> case'Data5 |
40 | \_ -> _ :: _ | 40 | (\_ -> _ :: _) |
41 | \_ -> _rhs undefined | 41 | (\_ -> _rhs undefined) |
42 | \_ (b :: _) -> \_ -> _rhs b | 42 | (\_ (b :: _) -> \_ -> _rhs b) |
43 | \_ -> \_ -> \_ -> \_ -> \_ -> _rhs undefined | 43 | (\_ -> \_ -> \_ -> \_ -> \_ -> _rhs undefined) |
44 | a | 44 | a |
45 | c5 | 45 | c5 |
46 | = \(a :: _) -> case'Data5 | 46 | = \(a :: _) -> case'Data5 |
47 | \_ -> _ :: _ | 47 | (\_ -> _ :: _) |
48 | \_ -> _rhs undefined | 48 | (\_ -> _rhs undefined) |
49 | \_ -> \_ (b :: _) -> _rhs b | 49 | (\_ -> \_ (b :: _) -> _rhs b) |
50 | \_ -> \_ -> \_ -> \_ -> \_ -> _rhs undefined | 50 | (\_ -> \_ -> \_ -> \_ -> \_ -> _rhs undefined) |
51 | a | 51 | a |
52 | main is not found | 52 | main is not found |
53 | ------------ trace | 53 | ------------ trace |
diff --git a/testdata/language-features/basic-list/listcomp01.out b/testdata/language-features/basic-list/listcomp01.out index a782100a..fe914476 100644 --- a/testdata/language-features/basic-list/listcomp01.out +++ b/testdata/language-features/basic-list/listcomp01.out | |||
@@ -1,5 +1,5 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value = _rhs (concatMap \_ -> HNil : [] (HNil : HNil : HNil : HNil : [])) | 2 | value = _rhs (concatMap (\_ -> HNil : []) (HNil : HNil : HNil : HNil : [])) |
3 | main is not found | 3 | main is not found |
4 | ------------ trace | 4 | ------------ trace |
5 | value :: [()] | 5 | value :: [()] |
diff --git a/testdata/language-features/basic-list/listcomp02.out b/testdata/language-features/basic-list/listcomp02.out index 661abdad..8d7d9de5 100644 --- a/testdata/language-features/basic-list/listcomp02.out +++ b/testdata/language-features/basic-list/listcomp02.out | |||
@@ -1,6 +1,6 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | l = _rhs (HNil : HNil : HNil : HNil : []) | 2 | l = _rhs (HNil : HNil : HNil : HNil : []) |
3 | value = _rhs (concatMap \(a :: _) -> a : [] l) | 3 | value = _rhs (concatMap (\(a :: _) -> a : []) l) |
4 | main is not found | 4 | main is not found |
5 | ------------ trace | 5 | ------------ trace |
6 | l :: [()] | 6 | l :: [()] |
diff --git a/testdata/language-features/basic-list/listcomp03.out b/testdata/language-features/basic-list/listcomp03.out index f6a524a8..3de6ae88 100644 --- a/testdata/language-features/basic-list/listcomp03.out +++ b/testdata/language-features/basic-list/listcomp03.out | |||
@@ -2,7 +2,7 @@ | |||
2 | value | 2 | value |
3 | = _rhs | 3 | = _rhs |
4 | (concatMap | 4 | (concatMap |
5 | \_ -> primIfThenElse False (HNil : []) [] | 5 | (\_ -> primIfThenElse False (HNil : []) []) |
6 | (HNil : HNil : HNil : HNil : [])) | 6 | (HNil : HNil : HNil : HNil : [])) |
7 | main is not found | 7 | main is not found |
8 | ------------ trace | 8 | ------------ trace |
diff --git a/testdata/language-features/basic-list/listcomp04.out b/testdata/language-features/basic-list/listcomp04.out index e1cdf511..dce40a1a 100644 --- a/testdata/language-features/basic-list/listcomp04.out +++ b/testdata/language-features/basic-list/listcomp04.out | |||
@@ -1,6 +1,6 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | l = _rhs (HNil : HNil : HNil : HNil : []) | 2 | l = _rhs (HNil : HNil : HNil : HNil : []) |
3 | value = _rhs (concatMap \_ -> concatMap \_ -> HNil : [] l l) | 3 | value = _rhs (concatMap (\_ -> concatMap (\_ -> HNil : []) l) l) |
4 | main is not found | 4 | main is not found |
5 | ------------ trace | 5 | ------------ trace |
6 | l :: [()] | 6 | l :: [()] |
diff --git a/testdata/language-features/basic-list/listcomp05.out b/testdata/language-features/basic-list/listcomp05.out index b5ac9f54..69de4559 100644 --- a/testdata/language-features/basic-list/listcomp05.out +++ b/testdata/language-features/basic-list/listcomp05.out | |||
@@ -2,7 +2,7 @@ | |||
2 | value | 2 | value |
3 | = _rhs | 3 | = _rhs |
4 | (concatMap | 4 | (concatMap |
5 | \_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> b : [] | 5 | (\_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> b : []) |
6 | (HNil : HNil : [])) | 6 | (HNil : HNil : [])) |
7 | main is not found | 7 | main is not found |
8 | ------------ trace | 8 | ------------ trace |
diff --git a/testdata/language-features/basic-list/listcomp06.out b/testdata/language-features/basic-list/listcomp06.out index 0002747e..590793bb 100644 --- a/testdata/language-features/basic-list/listcomp06.out +++ b/testdata/language-features/basic-list/listcomp06.out | |||
@@ -2,18 +2,18 @@ | |||
2 | value1 | 2 | value1 |
3 | = _rhs | 3 | = _rhs |
4 | (concatMap | 4 | (concatMap |
5 | \_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse | 5 | (\_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse |
6 | True | 6 | True |
7 | (b : []) | 7 | (b : []) |
8 | [] | 8 | []) |
9 | (HNil : HNil : [])) | 9 | (HNil : HNil : [])) |
10 | value2 | 10 | value2 |
11 | = _rhs | 11 | = _rhs |
12 | (concatMap | 12 | (concatMap |
13 | \_ -> primIfThenElse | 13 | (\_ -> primIfThenElse |
14 | True | 14 | True |
15 | \(a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> b : [] | 15 | (\(a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> b : []) |
16 | [] | 16 | []) |
17 | (HNil : HNil : [])) | 17 | (HNil : HNil : [])) |
18 | main is not found | 18 | main is not found |
19 | ------------ trace | 19 | ------------ trace |
diff --git a/testdata/language-features/basic-list/listcomp07.out b/testdata/language-features/basic-list/listcomp07.out index 1dfa572d..a3e5a671 100644 --- a/testdata/language-features/basic-list/listcomp07.out +++ b/testdata/language-features/basic-list/listcomp07.out | |||
@@ -2,26 +2,26 @@ | |||
2 | value1 | 2 | value1 |
3 | = _rhs | 3 | = _rhs |
4 | (concatMap | 4 | (concatMap |
5 | \_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse | 5 | (\_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse |
6 | True | 6 | True |
7 | \(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : [] | 7 | (\(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : []) |
8 | [] | 8 | []) |
9 | (HNil : HNil : [])) | 9 | (HNil : HNil : [])) |
10 | value2 | 10 | value2 |
11 | = _rhs | 11 | = _rhs |
12 | (concatMap | 12 | (concatMap |
13 | \_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse | 13 | (\_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse |
14 | True | 14 | True |
15 | \(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : [] | 15 | (\(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : []) |
16 | [] | 16 | []) |
17 | (HNil : HNil : [])) | 17 | (HNil : HNil : [])) |
18 | value3 | 18 | value3 |
19 | = _rhs | 19 | = _rhs |
20 | (concatMap | 20 | (concatMap |
21 | \_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse | 21 | (\_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse |
22 | True | 22 | True |
23 | \(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : [] | 23 | (\(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : []) |
24 | [] | 24 | []) |
25 | (HNil : HNil : [])) | 25 | (HNil : HNil : [])) |
26 | main is not found | 26 | main is not found |
27 | ------------ trace | 27 | ------------ trace |
diff --git a/testdata/language-features/basic-list/listcomp09.out b/testdata/language-features/basic-list/listcomp09.out index b9979154..27afb045 100644 --- a/testdata/language-features/basic-list/listcomp09.out +++ b/testdata/language-features/basic-list/listcomp09.out | |||
@@ -1,6 +1,7 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value1 | 2 | value1 |
3 | = _rhs (concatMap \_ -> (\(a :: _) -> hlistNilCase (_ :: _) "Hello" a) : [] []) | 3 | = _rhs |
4 | (concatMap (\_ -> (\(a :: _) -> hlistNilCase (_ :: _) "Hello" a) : []) []) | ||
4 | main is not found | 5 | main is not found |
5 | ------------ trace | 6 | ------------ trace |
6 | value1 :: Type => [() -> String] | 7 | value1 :: Type => [() -> String] |
diff --git a/testdata/language-features/basic-values/case02.out b/testdata/language-features/basic-values/case02.out index 15412d74..c762c3fe 100644 --- a/testdata/language-features/basic-values/case02.out +++ b/testdata/language-features/basic-values/case02.out | |||
@@ -1,12 +1,12 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value1 | 2 | value1 |
3 | = _rhs | 3 | = _rhs |
4 | ((\(a :: _) -> case'Bool \_ -> _ :: _ HNil HNil (fromInt 1 == a)) (fromInt 1)) | 4 | ((\(a :: _) -> case'Bool (\_ -> _ :: _) HNil HNil (fromInt 1 == a)) (fromInt 1)) |
5 | value2 | 5 | value2 |
6 | = _rhs | 6 | = _rhs |
7 | ((\(a :: _) -> case'Bool | 7 | ((\(a :: _) -> case'Bool |
8 | \_ -> _ :: _ | 8 | (\_ -> _ :: _) |
9 | (case'Bool \_ -> _ :: _ "_" "2" (fromInt 2 == a)) | 9 | (case'Bool (\_ -> _ :: _) "_" "2" (fromInt 2 == a)) |
10 | "1" | 10 | "1" |
11 | (fromInt 1 == a)) | 11 | (fromInt 1 == a)) |
12 | (fromInt 2)) | 12 | (fromInt 2)) |
diff --git a/testdata/language-features/basic-values/case05.out b/testdata/language-features/basic-values/case05.out index 0cbaf1ce..5021dfc3 100644 --- a/testdata/language-features/basic-values/case05.out +++ b/testdata/language-features/basic-values/case05.out | |||
@@ -1,7 +1,7 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value | 2 | value |
3 | = \(a :: _) -> _rhs | 3 | = \(a :: _) -> _rhs |
4 | ((\(b :: _) -> case'Bool \_ -> _ :: _ undefined '1' (fromInt 1 == b)) a) | 4 | ((\(b :: _) -> case'Bool (\_ -> _ :: _) undefined '1' (fromInt 1 == b)) a) |
5 | main is not found | 5 | main is not found |
6 | ------------ trace | 6 | ------------ trace |
7 | value :: forall a . (Eq a, Num a) => a -> Char | 7 | value :: forall a . (Eq a, Num a) => a -> Char |
diff --git a/testdata/language-features/basic-values/case06.out b/testdata/language-features/basic-values/case06.out index 3fb83b8c..ca1b9d5e 100644 --- a/testdata/language-features/basic-values/case06.out +++ b/testdata/language-features/basic-values/case06.out | |||
@@ -1,7 +1,7 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value | 2 | value |
3 | = \(a :: _) -> _rhs | 3 | = \(a :: _) -> _rhs |
4 | ((\(b :: _) -> case'Bool \_ -> _ :: _ '_' '1' (fromInt 1 == b)) a) | 4 | ((\(b :: _) -> case'Bool (\_ -> _ :: _) '_' '1' (fromInt 1 == b)) a) |
5 | main is not found | 5 | main is not found |
6 | ------------ trace | 6 | ------------ trace |
7 | value :: forall a . (Eq a, Num a) => a -> Char | 7 | value :: forall a . (Eq a, Num a) => a -> Char |
diff --git a/testdata/language-features/basic-values/def03.out b/testdata/language-features/basic-values/def03.out index f9a8d629..726a2061 100644 --- a/testdata/language-features/basic-values/def03.out +++ b/testdata/language-features/basic-values/def03.out | |||
@@ -1,8 +1,8 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | fun | 2 | fun |
3 | = \(a :: _) -> case'Bool | 3 | = \(a :: _) -> case'Bool |
4 | \_ -> _ :: _ | 4 | (\_ -> _ :: _) |
5 | (case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs '2') (fromInt 2 == a)) | 5 | (case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs '2') (fromInt 2 == a)) |
6 | (_rhs '1') | 6 | (_rhs '1') |
7 | (fromInt 1 == a) | 7 | (fromInt 1 == a) |
8 | main is not found | 8 | main is not found |
diff --git a/testdata/language-features/basic-values/def04.out b/testdata/language-features/basic-values/def04.out index de7336c1..bcec7dab 100644 --- a/testdata/language-features/basic-values/def04.out +++ b/testdata/language-features/basic-values/def04.out | |||
@@ -1,14 +1,14 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | fun | 2 | fun |
3 | = \(a :: _) -> case'Bool | 3 | = \(a :: _) -> case'Bool |
4 | \_ -> _ :: _ | 4 | (\_ -> _ :: _) |
5 | (case'Bool \_ -> _ :: _ (_rhs '_') (_rhs '2') (fromInt 2 == a)) | 5 | (case'Bool (\_ -> _ :: _) (_rhs '_') (_rhs '2') (fromInt 2 == a)) |
6 | (_rhs '1') | 6 | (_rhs '1') |
7 | (fromInt 1 == a) | 7 | (fromInt 1 == a) |
8 | fun2 | 8 | fun2 |
9 | = \(a :: _) -> \_ -> case'Bool | 9 | = \(a :: _) -> \_ -> case'Bool |
10 | \_ -> _ :: _ | 10 | (\_ -> _ :: _) |
11 | (case'Bool \_ -> _ :: _ (_rhs '_') (_rhs '2') (fromInt 2 == a)) | 11 | (case'Bool (\_ -> _ :: _) (_rhs '_') (_rhs '2') (fromInt 2 == a)) |
12 | (_rhs '1') | 12 | (_rhs '1') |
13 | (fromInt 1 == a) | 13 | (fromInt 1 == a) |
14 | main is not found | 14 | main is not found |
diff --git a/testdata/language-features/basic-values/where05.out b/testdata/language-features/basic-values/where05.out index 8f5ef0e0..d11a4dbc 100644 --- a/testdata/language-features/basic-values/where05.out +++ b/testdata/language-features/basic-values/where05.out | |||
@@ -2,31 +2,31 @@ | |||
2 | value1 | 2 | value1 |
3 | = _rhs | 3 | = _rhs |
4 | ((\(a :: _) -> case'Bool | 4 | ((\(a :: _) -> case'Bool |
5 | \_ -> _ :: _ | 5 | (\_ -> _ :: _) |
6 | HNil | 6 | HNil |
7 | \(b := _rhs HNil) -> b | 7 | (\(b := _rhs HNil) -> b) |
8 | (fromInt 1 == a)) | 8 | (fromInt 1 == a)) |
9 | (fromInt 1)) | 9 | (fromInt 1)) |
10 | value2 | 10 | value2 |
11 | = _rhs | 11 | = _rhs |
12 | ((\(a :: _) -> case'Bool | 12 | ((\(a :: _) -> case'Bool |
13 | \_ -> _ :: _ | 13 | (\_ -> _ :: _) |
14 | HNil | 14 | HNil |
15 | \(b := _rhs HNil) -> b | 15 | (\(b := _rhs HNil) -> b) |
16 | (fromInt 1 == a)) | 16 | (fromInt 1 == a)) |
17 | (fromInt 1)) | 17 | (fromInt 1)) |
18 | value3 | 18 | value3 |
19 | = _rhs | 19 | = _rhs |
20 | ((\(a :: _) -> case'Bool | 20 | ((\(a :: _) -> case'Bool |
21 | \_ -> _ :: _ | 21 | (\_ -> _ :: _) |
22 | HNil | 22 | HNil |
23 | \(b := _rhs HNil) -> b | 23 | (\(b := _rhs HNil) -> b) |
24 | (fromInt 1 == a)) | 24 | (fromInt 1 == a)) |
25 | (fromInt 1)) | 25 | (fromInt 1)) |
26 | value4 | 26 | value4 |
27 | = _rhs | 27 | = _rhs |
28 | \(a := _rhs HNil) -> (\(b :: _) -> case'Bool | 28 | \(a := _rhs HNil) -> (\(b :: _) -> case'Bool |
29 | \_ -> _ :: _ | 29 | (\_ -> _ :: _) |
30 | HNil | 30 | HNil |
31 | a | 31 | a |
32 | (fromInt 1 == b)) | 32 | (fromInt 1 == b)) |
diff --git a/testdata/language-features/guard/guard01.out b/testdata/language-features/guard/guard01.out index 7979b597..e042cf51 100644 --- a/testdata/language-features/guard/guard01.out +++ b/testdata/language-features/guard/guard01.out | |||
@@ -1,5 +1,5 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value = case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs HNil) True | 2 | value = case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs HNil) True |
3 | main is not found | 3 | main is not found |
4 | ------------ trace | 4 | ------------ trace |
5 | value :: () | 5 | value :: () |
diff --git a/testdata/language-features/guard/guard03.out b/testdata/language-features/guard/guard03.out index d872a41a..c7cfc230 100644 --- a/testdata/language-features/guard/guard03.out +++ b/testdata/language-features/guard/guard03.out | |||
@@ -1,8 +1,8 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value | 2 | value |
3 | = case'Bool | 3 | = case'Bool |
4 | \_ -> _ :: _ | 4 | (\_ -> _ :: _) |
5 | (case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs "False") False) | 5 | (case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs "False") False) |
6 | (_rhs "True") | 6 | (_rhs "True") |
7 | True | 7 | True |
8 | main is not found | 8 | main is not found |
diff --git a/testdata/language-features/guard/guard04.out b/testdata/language-features/guard/guard04.out index 67f97310..35a1df34 100644 --- a/testdata/language-features/guard/guard04.out +++ b/testdata/language-features/guard/guard04.out | |||
@@ -1,5 +1,5 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value = case'Bool \_ -> _ :: _ (_rhs "False") (_rhs "True") True | 2 | value = case'Bool (\_ -> _ :: _) (_rhs "False") (_rhs "True") True |
3 | main is not found | 3 | main is not found |
4 | ------------ trace | 4 | ------------ trace |
5 | value :: String | 5 | value :: String |
diff --git a/testdata/language-features/guard/guard07.out b/testdata/language-features/guard/guard07.out index d53bdc00..8b2af531 100644 --- a/testdata/language-features/guard/guard07.out +++ b/testdata/language-features/guard/guard07.out | |||
@@ -1,8 +1,8 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value | 2 | value |
3 | = case'Bool | 3 | = case'Bool |
4 | \_ -> _ :: _ | 4 | (\_ -> _ :: _) |
5 | (case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs "False") False) | 5 | (case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs "False") False) |
6 | (_rhs "True") | 6 | (_rhs "True") |
7 | True | 7 | True |
8 | main is not found | 8 | main is not found |
diff --git a/testdata/language-features/guard/guard08.out b/testdata/language-features/guard/guard08.out index 76334bcf..47b29db9 100644 --- a/testdata/language-features/guard/guard08.out +++ b/testdata/language-features/guard/guard08.out | |||
@@ -1,8 +1,8 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value | 2 | value |
3 | = case'Bool | 3 | = case'Bool |
4 | \_ -> _ :: _ | 4 | (\_ -> _ :: _) |
5 | (case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs "False") False) | 5 | (case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs "False") False) |
6 | (_rhs "True") | 6 | (_rhs "True") |
7 | True | 7 | True |
8 | main is not found | 8 | main is not found |
diff --git a/testdata/language-features/guard/guard09.out b/testdata/language-features/guard/guard09.out index 8b562ed0..aa6d848f 100644 --- a/testdata/language-features/guard/guard09.out +++ b/testdata/language-features/guard/guard09.out | |||
@@ -1,8 +1,8 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value | 2 | value |
3 | = case'Bool | 3 | = case'Bool |
4 | \_ -> _ :: _ | 4 | (\_ -> _ :: _) |
5 | (case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs "False") False) | 5 | (case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs "False") False) |
6 | (_rhs "True") | 6 | (_rhs "True") |
7 | True | 7 | True |
8 | main is not found | 8 | main is not found |
diff --git a/testdata/language-features/guard/guard11.out b/testdata/language-features/guard/guard11.out index 087cb504..47bd37ad 100644 --- a/testdata/language-features/guard/guard11.out +++ b/testdata/language-features/guard/guard11.out | |||
@@ -1,5 +1,5 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | fun = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs "False") (_rhs "True") a | 2 | fun = \(a :: _) -> case'Bool (\_ -> _ :: _) (_rhs "False") (_rhs "True") a |
3 | main is not found | 3 | main is not found |
4 | ------------ trace | 4 | ------------ trace |
5 | fun :: Bool -> String | 5 | fun :: Bool -> String |
diff --git a/testdata/language-features/guard/guard13.out b/testdata/language-features/guard/guard13.out index 9a470a2c..65411e87 100644 --- a/testdata/language-features/guard/guard13.out +++ b/testdata/language-features/guard/guard13.out | |||
@@ -1,5 +1,5 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | fun = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs HNil) (_rhs HNil) a | 2 | fun = \(a :: _) -> case'Bool (\_ -> _ :: _) (_rhs HNil) (_rhs HNil) a |
3 | main is not found | 3 | main is not found |
4 | ------------ trace | 4 | ------------ trace |
5 | fun :: Bool -> () | 5 | fun :: Bool -> () |
diff --git a/testdata/language-features/guard/guard14.out b/testdata/language-features/guard/guard14.out index 46612e86..05321956 100644 --- a/testdata/language-features/guard/guard14.out +++ b/testdata/language-features/guard/guard14.out | |||
@@ -1,5 +1,6 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value = _rhs \(a := case'Bool \_ -> _ :: _ (_rhs HNil) (_rhs HNil) True) -> HNil | 2 | value |
3 | = _rhs \(a := case'Bool (\_ -> _ :: _) (_rhs HNil) (_rhs HNil) True) -> HNil | ||
3 | main is not found | 4 | main is not found |
4 | ------------ trace | 5 | ------------ trace |
5 | value :: () | 6 | value :: () |
diff --git a/testdata/language-features/guard/guard15.out b/testdata/language-features/guard/guard15.out index 39a1d1e6..50452c29 100644 --- a/testdata/language-features/guard/guard15.out +++ b/testdata/language-features/guard/guard15.out | |||
@@ -1,5 +1,6 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | value = _rhs \(a := case'Bool \_ -> _ :: _ (_rhs HNil) (_rhs HNil) True) -> HNil | 2 | value |
3 | = _rhs \(a := case'Bool (\_ -> _ :: _) (_rhs HNil) (_rhs HNil) True) -> HNil | ||
3 | main is not found | 4 | main is not found |
4 | ------------ trace | 5 | ------------ trace |
5 | value :: () | 6 | value :: () |
diff --git a/testdata/language-features/guard/guard16.out b/testdata/language-features/guard/guard16.out index d31ed4ff..710f1ae9 100644 --- a/testdata/language-features/guard/guard16.out +++ b/testdata/language-features/guard/guard16.out | |||
@@ -2,9 +2,9 @@ | |||
2 | value | 2 | value |
3 | = _rhs | 3 | = _rhs |
4 | ((\(a :: _) -> case'Bool | 4 | ((\(a :: _) -> case'Bool |
5 | \_ -> _ :: _ | 5 | (\_ -> _ :: _) |
6 | HNil | 6 | HNil |
7 | (case'Bool \_ -> _ :: _ HNil HNil True) | 7 | (case'Bool (\_ -> _ :: _) HNil HNil True) |
8 | (fromInt 1 == a)) | 8 | (fromInt 1 == a)) |
9 | (fromInt 1)) | 9 | (fromInt 1)) |
10 | main is not found | 10 | main is not found |
diff --git a/testdata/language-features/pattern/pattern01.out b/testdata/language-features/pattern/pattern01.out index 6a62a1e1..7679e35c 100644 --- a/testdata/language-features/pattern/pattern01.out +++ b/testdata/language-features/pattern/pattern01.out | |||
@@ -1,8 +1,8 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | fun1 | 2 | fun1 |
3 | = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs '_') (_rhs '0') (fromInt 0 == a) | 3 | = \(a :: _) -> case'Bool (\_ -> _ :: _) (_rhs '_') (_rhs '0') (fromInt 0 == a) |
4 | fun2 = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs '_') (_rhs '0') ("0" == a) | 4 | fun2 = \(a :: _) -> case'Bool (\_ -> _ :: _) (_rhs '_') (_rhs '0') ("0" == a) |
5 | fun3 = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs '_') (_rhs '0') ('0' == a) | 5 | fun3 = \(a :: _) -> case'Bool (\_ -> _ :: _) (_rhs '_') (_rhs '0') ('0' == a) |
6 | fun4 = \(a :: _) -> hlistNilCase (_ :: _) (_rhs '0') a | 6 | fun4 = \(a :: _) -> hlistNilCase (_ :: _) (_rhs '0') a |
7 | main is not found | 7 | main is not found |
8 | ------------ trace | 8 | ------------ trace |
diff --git a/testdata/language-features/pattern/uncovered.out b/testdata/language-features/pattern/uncovered.out index 79b234a6..d75adc31 100644 --- a/testdata/language-features/pattern/uncovered.out +++ b/testdata/language-features/pattern/uncovered.out | |||
@@ -1,77 +1,77 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | f | 2 | f |
3 | = \(a :: _) (b :: _) (c :: _) -> case'Bool | 3 | = \(a :: _) (b :: _) (c :: _) -> case'Bool |
4 | \_ -> _ :: _ | 4 | (\_ -> _ :: _) |
5 | (case'Bool | 5 | (case'Bool |
6 | \_ -> _ :: _ | 6 | (\_ -> _ :: _) |
7 | (case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs (fromInt 1)) c) | 7 | (case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs (fromInt 1)) c) |
8 | (_rhs (fromInt 2)) | 8 | (_rhs (fromInt 2)) |
9 | a) | 9 | a) |
10 | (case'Bool | 10 | (case'Bool |
11 | \_ -> _ :: _ | 11 | (\_ -> _ :: _) |
12 | (_rhs (fromInt 0)) | 12 | (_rhs (fromInt 0)) |
13 | (case'Bool \_ -> _ :: _ (_rhs (fromInt 1)) (_rhs undefined) a) | 13 | (case'Bool (\_ -> _ :: _) (_rhs (fromInt 1)) (_rhs undefined) a) |
14 | c) | 14 | c) |
15 | b | 15 | b |
16 | g | 16 | g |
17 | = \(a :: _) -> case'List | 17 | = \(a :: _) -> case'List |
18 | \_ -> _ :: _ | 18 | (\_ -> _ :: _) |
19 | (_rhs undefined) | 19 | (_rhs undefined) |
20 | \(b :: _) (c :: _) -> case'Bool | 20 | (\(b :: _) (c :: _) -> case'Bool |
21 | \_ -> _ :: _ | 21 | (\_ -> _ :: _) |
22 | (_rhs undefined) | 22 | (_rhs undefined) |
23 | (case'List | 23 | (case'List |
24 | \_ -> _ :: _ | 24 | (\_ -> _ :: _) |
25 | (_rhs undefined) | 25 | (_rhs undefined) |
26 | \(d :: _) (e :: _) -> case'Bool | 26 | (\(d :: _) (e :: _) -> case'Bool |
27 | \_ -> _ :: _ | 27 | (\_ -> _ :: _) |
28 | (case'List | 28 | (case'List |
29 | \_ -> _ :: _ | 29 | (\_ -> _ :: _) |
30 | (_rhs undefined) | 30 | (_rhs undefined) |
31 | \(f :: _) (g :: _) -> case'Bool | 31 | (\(f :: _) (g :: _) -> case'Bool |
32 | \_ -> _ :: _ | 32 | (\_ -> _ :: _) |
33 | (_rhs undefined) | 33 | (_rhs undefined) |
34 | (case'List \_ -> _ :: _ (_rhs False) \_ -> \_ -> _rhs undefined g) | 34 | (case'List (\_ -> _ :: _) (_rhs False) (\_ -> \_ -> _rhs undefined) g) |
35 | f | 35 | f) |
36 | e) | 36 | e) |
37 | (_rhs undefined) | 37 | (_rhs undefined) |
38 | d | 38 | d) |
39 | c) | 39 | c) |
40 | b | 40 | b) |
41 | a | 41 | a |
42 | h | 42 | h |
43 | = \(a :: _) -> case'List | 43 | = \(a :: _) -> case'List |
44 | \_ -> _ :: _ | 44 | (\_ -> _ :: _) |
45 | (_rhs undefined) | 45 | (_rhs undefined) |
46 | \(b :: _) (c :: _) -> case'List | 46 | (\(b :: _) (c :: _) -> case'List |
47 | \_ -> _ :: _ | 47 | (\_ -> _ :: _) |
48 | (_rhs undefined) | 48 | (_rhs undefined) |
49 | \(d :: _) (e :: _) -> case'Bool | 49 | (\(d :: _) (e :: _) -> case'Bool |
50 | \_ -> _ :: _ | 50 | (\_ -> _ :: _) |
51 | (_rhs undefined) | 51 | (_rhs undefined) |
52 | (case'List | 52 | (case'List |
53 | \_ -> _ :: _ | 53 | (\_ -> _ :: _) |
54 | (case'List | 54 | (case'List |
55 | \_ -> _ :: _ | 55 | (\_ -> _ :: _) |
56 | (_rhs undefined) | 56 | (_rhs undefined) |
57 | \(f :: _) (g :: _) -> case'List | 57 | (\(f :: _) (g :: _) -> case'List |
58 | \_ -> _ :: _ | 58 | (\_ -> _ :: _) |
59 | (_rhs undefined) | 59 | (_rhs undefined) |
60 | \(h :: _) (i :: _) -> case'Bool | 60 | (\(h :: _) (i :: _) -> case'Bool |
61 | \_ -> _ :: _ | 61 | (\_ -> _ :: _) |
62 | (case'List | 62 | (case'List |
63 | \_ -> _ :: _ | 63 | (\_ -> _ :: _) |
64 | (case'List \_ -> _ :: _ (_rhs True) \_ -> \_ -> _rhs undefined g) | 64 | (case'List (\_ -> _ :: _) (_rhs True) (\_ -> \_ -> _rhs undefined) g) |
65 | \_ -> \_ -> _rhs undefined | 65 | (\_ -> \_ -> _rhs undefined) |
66 | i) | 66 | i) |
67 | (_rhs undefined) | 67 | (_rhs undefined) |
68 | h | 68 | h) |
69 | f | 69 | f) |
70 | c) | 70 | c) |
71 | \_ -> \_ -> _rhs undefined | 71 | (\_ -> \_ -> _rhs undefined) |
72 | e) | 72 | e) |
73 | d | 73 | d) |
74 | b | 74 | b) |
75 | a | 75 | a |
76 | main is not found | 76 | main is not found |
77 | ------------ trace | 77 | ------------ trace |
diff --git a/testdata/language-features/recursion/simplerec01.out b/testdata/language-features/recursion/simplerec01.out index 8b26638c..e264622f 100644 --- a/testdata/language-features/recursion/simplerec01.out +++ b/testdata/language-features/recursion/simplerec01.out | |||
@@ -1,7 +1,7 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | fun | 2 | fun |
3 | = \(a :: _) -> case'Bool | 3 | = \(a :: _) -> case'Bool |
4 | \_ -> _ :: _ | 4 | (\_ -> _ :: _) |
5 | (_rhs (fun (fromInt 0))) | 5 | (_rhs (fun (fromInt 0))) |
6 | (_rhs 'a') | 6 | (_rhs 'a') |
7 | (fromInt 0 == a) | 7 | (fromInt 0 == a) |
diff --git a/testdata/language-features/recursion/simplerec02.out b/testdata/language-features/recursion/simplerec02.out index 785ea0a0..4e95a85e 100644 --- a/testdata/language-features/recursion/simplerec02.out +++ b/testdata/language-features/recursion/simplerec02.out | |||
@@ -4,7 +4,7 @@ value | |||
4 | \(a | 4 | \(a |
5 | := primFix | 5 | := primFix |
6 | \(b :: _) (c :: _) -> case'Bool | 6 | \(b :: _) (c :: _) -> case'Bool |
7 | \_ -> _ :: _ | 7 | (\_ -> _ :: _) |
8 | (_rhs (b (fromInt 0))) | 8 | (_rhs (b (fromInt 0))) |
9 | (_rhs 'a') | 9 | (_rhs 'a') |
10 | (fromInt 0 == c)) -> HNil | 10 | (fromInt 0 == c)) -> HNil |
diff --git a/testdata/language-features/recursion/simplerec03.out b/testdata/language-features/recursion/simplerec03.out index 273791dd..9bdd104f 100644 --- a/testdata/language-features/recursion/simplerec03.out +++ b/testdata/language-features/recursion/simplerec03.out | |||
@@ -4,7 +4,7 @@ value | |||
4 | \(a | 4 | \(a |
5 | := primFix | 5 | := primFix |
6 | \(b :: _) (c :: _) -> case'Bool | 6 | \(b :: _) (c :: _) -> case'Bool |
7 | \_ -> _ :: _ | 7 | (\_ -> _ :: _) |
8 | (_rhs (b (fromInt 0))) | 8 | (_rhs (b (fromInt 0))) |
9 | (_rhs 'a') | 9 | (_rhs 'a') |
10 | (fromInt 0 == c)) -> HNil | 10 | (fromInt 0 == c)) -> HNil |
diff --git a/testdata/performance/Material.out b/testdata/performance/Material.out index 510d3b92..3b623709 100644 --- a/testdata/performance/Material.out +++ b/testdata/performance/Material.out | |||
@@ -6,13 +6,16 @@ data Entity :: Type where | |||
6 | -> Vec (fromInt 4) Float | 6 | -> Vec (fromInt 4) Float |
7 | -> Vec (fromInt 3) Float -> Vec (fromInt 4) Float -> Entity | 7 | -> Vec (fromInt 3) Float -> Vec (fromInt 4) Float -> Entity |
8 | eAmbientLight | 8 | eAmbientLight |
9 | = \(a :: _) -> case'Entity \_ -> _ :: _ \(b :: _) -> \_ -> \_ -> \_ -> _rhs b a | 9 | = \(a :: _) -> case'Entity |
10 | (\_ -> _ :: _) | ||
11 | (\(b :: _) -> \_ -> \_ -> \_ -> _rhs b) | ||
12 | a | ||
10 | eDirectedLight | 13 | eDirectedLight |
11 | = \(a :: _) -> case'Entity \_ -> _ :: _ \_ (b :: _) -> \_ -> \_ -> _rhs b a | 14 | = \(a :: _) -> case'Entity (\_ -> _ :: _) (\_ (b :: _) -> \_ -> \_ -> _rhs b) a |
12 | eLightDir | 15 | eLightDir |
13 | = \(a :: _) -> case'Entity \_ -> _ :: _ \_ -> \_ (b :: _) -> \_ -> _rhs b a | 16 | = \(a :: _) -> case'Entity (\_ -> _ :: _) (\_ -> \_ (b :: _) -> \_ -> _rhs b) a |
14 | eShaderRGBA | 17 | eShaderRGBA |
15 | = \(a :: _) -> case'Entity \_ -> _ :: _ \_ -> \_ -> \_ (b :: _) -> _rhs b a | 18 | = \(a :: _) -> case'Entity (\_ -> _ :: _) (\_ -> \_ -> \_ (b :: _) -> _rhs b) a |
16 | data WaveType :: Type where | 19 | data WaveType :: Type where |
17 | WT_Sin :: WaveType | 20 | WT_Sin :: WaveType |
18 | WT_Triangle :: WaveType | 21 | WT_Triangle :: WaveType |
@@ -114,58 +117,59 @@ data StageAttrs :: Type where | |||
114 | -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs | 117 | -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs |
115 | saBlend | 118 | saBlend |
116 | = \(a :: _) -> case'StageAttrs | 119 | = \(a :: _) -> case'StageAttrs |
117 | \_ -> _ :: _ | 120 | (\_ -> _ :: _) |
118 | \(b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b | 121 | (\(b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
122 | b) | ||
119 | a | 123 | a |
120 | saRGBGen | 124 | saRGBGen |
121 | = \(a :: _) -> case'StageAttrs | 125 | = \(a :: _) -> case'StageAttrs |
122 | \_ -> _ :: _ | 126 | (\_ -> _ :: _) |
123 | \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b | 127 | (\_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b) |
124 | a | 128 | a |
125 | saAlphaGen | 129 | saAlphaGen |
126 | = \(a :: _) -> case'StageAttrs | 130 | = \(a :: _) -> case'StageAttrs |
127 | \_ -> _ :: _ | 131 | (\_ -> _ :: _) |
128 | \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b | 132 | (\_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b) |
129 | a | 133 | a |
130 | saTCGen | 134 | saTCGen |
131 | = \(a :: _) -> case'StageAttrs | 135 | = \(a :: _) -> case'StageAttrs |
132 | \_ -> _ :: _ | 136 | (\_ -> _ :: _) |
133 | \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b | 137 | (\_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b) |
134 | a | 138 | a |
135 | saTCMod | 139 | saTCMod |
136 | = \(a :: _) -> case'StageAttrs | 140 | = \(a :: _) -> case'StageAttrs |
137 | \_ -> _ :: _ | 141 | (\_ -> _ :: _) |
138 | \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b | 142 | (\_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b) |
139 | a | 143 | a |
140 | saTexture | 144 | saTexture |
141 | = \(a :: _) -> case'StageAttrs | 145 | = \(a :: _) -> case'StageAttrs |
142 | \_ -> _ :: _ | 146 | (\_ -> _ :: _) |
143 | \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b | 147 | (\_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b) |
144 | a | 148 | a |
145 | saDepthWrite | 149 | saDepthWrite |
146 | = \(a :: _) -> case'StageAttrs | 150 | = \(a :: _) -> case'StageAttrs |
147 | \_ -> _ :: _ | 151 | (\_ -> _ :: _) |
148 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs b | 152 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs b) |
149 | a | 153 | a |
150 | saDepthFunc | 154 | saDepthFunc |
151 | = \(a :: _) -> case'StageAttrs | 155 | = \(a :: _) -> case'StageAttrs |
152 | \_ -> _ :: _ | 156 | (\_ -> _ :: _) |
153 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs b | 157 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs b) |
154 | a | 158 | a |
155 | saAlphaFunc | 159 | saAlphaFunc |
156 | = \(a :: _) -> case'StageAttrs | 160 | = \(a :: _) -> case'StageAttrs |
157 | \_ -> _ :: _ | 161 | (\_ -> _ :: _) |
158 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs b | 162 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs b) |
159 | a | 163 | a |
160 | saDepthMaskExplicit | 164 | saDepthMaskExplicit |
161 | = \(a :: _) -> case'StageAttrs | 165 | = \(a :: _) -> case'StageAttrs |
162 | \_ -> _ :: _ | 166 | (\_ -> _ :: _) |
163 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs b | 167 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs b) |
164 | a | 168 | a |
165 | saTextureUniform | 169 | saTextureUniform |
166 | = \(a :: _) -> case'StageAttrs | 170 | = \(a :: _) -> case'StageAttrs |
167 | \_ -> _ :: _ | 171 | (\_ -> _ :: _) |
168 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs b | 172 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs b) |
169 | a | 173 | a |
170 | defaultStageAttrs | 174 | defaultStageAttrs |
171 | = _rhs | 175 | = _rhs |
@@ -193,76 +197,76 @@ data CommonAttrs :: Type where | |||
193 | -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs | 197 | -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs |
194 | caSkyParms | 198 | caSkyParms |
195 | = \(a :: _) -> case'CommonAttrs | 199 | = \(a :: _) -> case'CommonAttrs |
196 | \_ -> _ :: _ | 200 | (\_ -> _ :: _) |
197 | \(b | 201 | (\(b |
198 | :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 202 | :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
199 | b | 203 | b) |
200 | a | 204 | a |
201 | caFogParms | 205 | caFogParms |
202 | = \(a :: _) -> case'CommonAttrs | 206 | = \(a :: _) -> case'CommonAttrs |
203 | \_ -> _ :: _ | 207 | (\_ -> _ :: _) |
204 | \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 208 | (\_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
205 | b | 209 | b) |
206 | a | 210 | a |
207 | caPortal | 211 | caPortal |
208 | = \(a :: _) -> case'CommonAttrs | 212 | = \(a :: _) -> case'CommonAttrs |
209 | \_ -> _ :: _ | 213 | (\_ -> _ :: _) |
210 | \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 214 | (\_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
211 | b | 215 | b) |
212 | a | 216 | a |
213 | caSort | 217 | caSort |
214 | = \(a :: _) -> case'CommonAttrs | 218 | = \(a :: _) -> case'CommonAttrs |
215 | \_ -> _ :: _ | 219 | (\_ -> _ :: _) |
216 | \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 220 | (\_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
217 | b | 221 | b) |
218 | a | 222 | a |
219 | caEntityMergable | 223 | caEntityMergable |
220 | = \(a :: _) -> case'CommonAttrs | 224 | = \(a :: _) -> case'CommonAttrs |
221 | \_ -> _ :: _ | 225 | (\_ -> _ :: _) |
222 | \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 226 | (\_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
223 | b | 227 | b) |
224 | a | 228 | a |
225 | caFogOnly | 229 | caFogOnly |
226 | = \(a :: _) -> case'CommonAttrs | 230 | = \(a :: _) -> case'CommonAttrs |
227 | \_ -> _ :: _ | 231 | (\_ -> _ :: _) |
228 | \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 232 | (\_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
229 | b | 233 | b) |
230 | a | 234 | a |
231 | caCull | 235 | caCull |
232 | = \(a :: _) -> case'CommonAttrs | 236 | = \(a :: _) -> case'CommonAttrs |
233 | \_ -> _ :: _ | 237 | (\_ -> _ :: _) |
234 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs | 238 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs |
235 | b | 239 | b) |
236 | a | 240 | a |
237 | caDeformVertexes | 241 | caDeformVertexes |
238 | = \(a :: _) -> case'CommonAttrs | 242 | = \(a :: _) -> case'CommonAttrs |
239 | \_ -> _ :: _ | 243 | (\_ -> _ :: _) |
240 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs | 244 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs |
241 | b | 245 | b) |
242 | a | 246 | a |
243 | caNoMipMaps | 247 | caNoMipMaps |
244 | = \(a :: _) -> case'CommonAttrs | 248 | = \(a :: _) -> case'CommonAttrs |
245 | \_ -> _ :: _ | 249 | (\_ -> _ :: _) |
246 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs | 250 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs |
247 | b | 251 | b) |
248 | a | 252 | a |
249 | caPolygonOffset | 253 | caPolygonOffset |
250 | = \(a :: _) -> case'CommonAttrs | 254 | = \(a :: _) -> case'CommonAttrs |
251 | \_ -> _ :: _ | 255 | (\_ -> _ :: _) |
252 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs | 256 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs |
253 | b | 257 | b) |
254 | a | 258 | a |
255 | caStages | 259 | caStages |
256 | = \(a :: _) -> case'CommonAttrs | 260 | = \(a :: _) -> case'CommonAttrs |
257 | \_ -> _ :: _ | 261 | (\_ -> _ :: _) |
258 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs | 262 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs |
259 | b | 263 | b) |
260 | a | 264 | a |
261 | caIsSky | 265 | caIsSky |
262 | = \(a :: _) -> case'CommonAttrs | 266 | = \(a :: _) -> case'CommonAttrs |
263 | \_ -> _ :: _ | 267 | (\_ -> _ :: _) |
264 | \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs | 268 | (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs |
265 | b | 269 | b) |
266 | a | 270 | a |
267 | defaultCommonAttrs | 271 | defaultCommonAttrs |
268 | = _rhs | 272 | = _rhs |
diff --git a/testdata/typeclass.out b/testdata/typeclass.out index 10d209d5..f0bd73a3 100644 --- a/testdata/typeclass.out +++ b/testdata/typeclass.out | |||
@@ -4,22 +4,26 @@ infix 4 /= | |||
4 | infix 4 < | 4 | infix 4 < |
5 | infixr 3 && | 5 | infixr 3 && |
6 | infixr 2 || | 6 | infixr 2 || |
7 | not = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs True) (_rhs False) a | 7 | not = \(a :: _) -> case'Bool (\_ -> _ :: _) (_rhs True) (_rhs False) a |
8 | && = \(a :: _) (b :: _) -> case'Bool \_ -> _ :: _ (_rhs False) (_rhs b) a | 8 | && = \(a :: _) (b :: _) -> case'Bool (\_ -> _ :: _) (_rhs False) (_rhs b) a |
9 | || = \(a :: _) (b :: _) -> case'Bool \_ -> _ :: _ (_rhs b) (_rhs True) a | 9 | || = \(a :: _) (b :: _) -> case'Bool (\_ -> _ :: _) (_rhs b) (_rhs True) a |
10 | 'Eq | 10 | 'Eq |
11 | = (\(a :: _) -> match'Bool | 11 | = (\(a :: _) -> match'Bool |
12 | \_ -> _ | 12 | (\_ -> _) |
13 | (_rhs 'Unit) | 13 | (_rhs 'Unit) |
14 | a | 14 | a |
15 | (_rhs ('Empty "no instance of 'Eq on ???"))) | 15 | (_rhs ('Empty "no instance of 'Eq on ???"))) |
16 | :: Type -> Type | 16 | :: Type -> Type |
17 | == | 17 | == |
18 | = (\ @a -> \ @_ -> match'Bool | 18 | = (\ @a -> \ @_ -> match'Bool |
19 | \_ -> _ | 19 | (\_ -> _) |
20 | (_rhs | 20 | (_rhs |
21 | \(b | 21 | \(b |
22 | := \(c :: _) (d :: _) -> case'Bool \_ -> _ :: _ (_rhs (not d)) (_rhs d) c) -> b) | 22 | := \(c :: _) (d :: _) -> case'Bool |
23 | (\_ -> _ :: _) | ||
24 | (_rhs (not d)) | ||
25 | (_rhs d) | ||
26 | c) -> b) | ||
23 | a | 27 | a |
24 | (_rhs undefined)) | 28 | (_rhs undefined)) |
25 | :: forall e . Eq e => e -> e -> Bool | 29 | :: forall e . Eq e => e -> e -> Bool |
diff --git a/testdata/zip01.out b/testdata/zip01.out index 6393822e..5471a160 100644 --- a/testdata/zip01.out +++ b/testdata/zip01.out | |||
@@ -1,13 +1,13 @@ | |||
1 | ------------ desugared source code | 1 | ------------ desugared source code |
2 | zip2 | 2 | zip2 |
3 | = (\(a :: _) (b :: _) -> case'List | 3 | = (\(a :: _) (b :: _) -> case'List |
4 | \_ -> _ :: _ | 4 | (\_ -> _ :: _) |
5 | (_rhs []) | 5 | (_rhs []) |
6 | \(c :: _) (d :: _) -> case'List | 6 | (\(c :: _) (d :: _) -> case'List |
7 | \_ -> _ :: _ | 7 | (\_ -> _ :: _) |
8 | (_rhs []) | 8 | (_rhs []) |
9 | \(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip2 d f) | 9 | (\(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip2 d f)) |
10 | b | 10 | b) |
11 | a) | 11 | a) |
12 | :: forall (g :: _) (h :: _) . [g] -> [h] -> [HList (g : h : '[])] | 12 | :: forall (g :: _) (h :: _) . [g] -> [h] -> [HList (g : h : '[])] |
13 | main is not found | 13 | main is not found |