diff options
author | Péter Diviánszky <divipp@gmail.com> | 2016-05-01 19:13:34 +0200 |
---|---|---|
committer | Péter Diviánszky <divipp@gmail.com> | 2016-05-01 19:13:34 +0200 |
commit | 90e336391673ac1cf9ff582e98e35faf89a8f09d (patch) | |
tree | 0b7a14dbfc5734c07c2ae4ed34cb679fecd10d3f /testdata/Builtins.out | |
parent | 1a7544763729938e7009ead1e375e9bbf413afb0 (diff) |
improve pretty print layout & show desugared source code in .out files
Diffstat (limited to 'testdata/Builtins.out')
-rw-r--r-- | testdata/Builtins.out | 1751 |
1 files changed, 1596 insertions, 155 deletions
diff --git a/testdata/Builtins.out b/testdata/Builtins.out index cf554d40..e36156db 100644 --- a/testdata/Builtins.out +++ b/testdata/Builtins.out | |||
@@ -1,3 +1,1018 @@ | |||
1 | ------------ desugared source code | ||
2 | id = \(a :: _) -> _rhs a | ||
3 | data VecS (_ :: Type) :: Nat -> Type where | ||
4 | V2 :: _a -> _a -> VecS _a (fromInt 2) | ||
5 | V3 :: _a -> _a -> _a -> VecS _a (fromInt 3) | ||
6 | V4 :: _a -> _a -> _a -> _a -> VecS _a (fromInt 4) | ||
7 | mapVec | ||
8 | = (\(a :: _) (b :: _) -> 'VecSCase | ||
9 | \_ -> \_ -> _ :: _ | ||
10 | \(c :: _) (d :: _) -> _rhs (V2 (a c) (a d)) | ||
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)) | ||
13 | b) | ||
14 | :: forall (l :: _) (m :: _) (n :: _) . (l -> m) -> VecS l n -> VecS m n | ||
15 | 'Vec = (\(a :: _) (b :: _) -> _rhs ('VecS b a)) :: Nat -> Type -> Type | ||
16 | 'VecScalar | ||
17 | = (\(a :: _) (b :: _) -> 'NatCase | ||
18 | \_ -> _ :: _ | ||
19 | undefined | ||
20 | \(c :: _) -> 'NatCase | ||
21 | \_ -> _ :: _ | ||
22 | (_rhs b) | ||
23 | \(d :: _) -> _rhs ('Vec (Succ (Succ d)) b) | ||
24 | c | ||
25 | a) | ||
26 | :: Nat -> Type -> Type | ||
27 | data Mat :: Nat -> Nat -> Type -> Type where | ||
28 | M22F | ||
29 | :: Vec (fromInt 2) Float | ||
30 | -> Vec (fromInt 2) Float -> Mat (fromInt 2) (fromInt 2) Float | ||
31 | M32F | ||
32 | :: Vec (fromInt 3) Float | ||
33 | -> Vec (fromInt 3) Float -> Mat (fromInt 3) (fromInt 2) Float | ||
34 | M42F | ||
35 | :: Vec (fromInt 4) Float | ||
36 | -> Vec (fromInt 4) Float -> Mat (fromInt 4) (fromInt 2) Float | ||
37 | M23F | ||
38 | :: Vec (fromInt 2) Float | ||
39 | -> Vec (fromInt 2) Float | ||
40 | -> Vec (fromInt 2) Float -> Mat (fromInt 2) (fromInt 3) Float | ||
41 | M33F | ||
42 | :: Vec (fromInt 3) Float | ||
43 | -> Vec (fromInt 3) Float | ||
44 | -> Vec (fromInt 3) Float -> Mat (fromInt 3) (fromInt 3) Float | ||
45 | M43F | ||
46 | :: Vec (fromInt 4) Float | ||
47 | -> Vec (fromInt 4) Float | ||
48 | -> Vec (fromInt 4) Float -> Mat (fromInt 4) (fromInt 3) Float | ||
49 | M24F | ||
50 | :: Vec (fromInt 2) Float | ||
51 | -> Vec (fromInt 2) Float | ||
52 | -> Vec (fromInt 2) Float | ||
53 | -> Vec (fromInt 2) Float -> Mat (fromInt 2) (fromInt 4) Float | ||
54 | M34F | ||
55 | :: Vec (fromInt 3) Float | ||
56 | -> Vec (fromInt 3) Float | ||
57 | -> Vec (fromInt 3) Float | ||
58 | -> Vec (fromInt 3) Float -> Mat (fromInt 3) (fromInt 4) Float | ||
59 | M44F | ||
60 | :: Vec (fromInt 4) Float | ||
61 | -> Vec (fromInt 4) Float | ||
62 | -> Vec (fromInt 4) Float | ||
63 | -> Vec (fromInt 4) Float -> Mat (fromInt 4) (fromInt 4) Float | ||
64 | 'MatVecScalarElem | ||
65 | = (\(a :: _) -> match'Float | ||
66 | \_ -> _ | ||
67 | (_rhs 'Float) | ||
68 | a | ||
69 | (match'Bool | ||
70 | \_ -> _ | ||
71 | (_rhs 'Bool) | ||
72 | a | ||
73 | (match'Int | ||
74 | \_ -> _ | ||
75 | (_rhs 'Int) | ||
76 | a | ||
77 | (match'VecS | ||
78 | \_ -> _ | ||
79 | \(b :: _) -> \_ -> _rhs b | ||
80 | a | ||
81 | (match'Mat \_ -> _ \_ -> \_ (c :: _) -> _rhs c a undefined))))) | ||
82 | :: Type -> Type | ||
83 | 'Signed | ||
84 | = (\(a :: _) -> match'Int | ||
85 | \_ -> _ | ||
86 | (_rhs 'Unit) | ||
87 | a | ||
88 | (match'Float | ||
89 | \_ -> _ | ||
90 | (_rhs 'Unit) | ||
91 | a | ||
92 | (_rhs ('Empty "no instance of 'Signed on ???")))) | ||
93 | :: Type -> Type | ||
94 | 'Component | ||
95 | = (\(a :: _) -> match'Int | ||
96 | \_ -> _ | ||
97 | (_rhs 'Unit) | ||
98 | a | ||
99 | (match'Word | ||
100 | \_ -> _ | ||
101 | (_rhs 'Unit) | ||
102 | a | ||
103 | (match'Float | ||
104 | \_ -> _ | ||
105 | (_rhs 'Unit) | ||
106 | a | ||
107 | (match'VecS | ||
108 | \_ -> _ | ||
109 | \(b :: _) (c :: _) -> match'Float | ||
110 | \_ -> _ | ||
111 | ('NatCase | ||
112 | \_ -> _ :: _ | ||
113 | (_rhs ('Empty "no instance of 'Component on ???")) | ||
114 | \(d :: _) -> 'NatCase | ||
115 | \_ -> _ :: _ | ||
116 | (_rhs ('Empty "no instance of 'Component on ???")) | ||
117 | \(e :: _) -> 'NatCase | ||
118 | \_ -> _ :: _ | ||
119 | (_rhs 'Unit) | ||
120 | \(f :: _) -> 'NatCase | ||
121 | \_ -> _ :: _ | ||
122 | (_rhs 'Unit) | ||
123 | \(g :: _) -> 'NatCase | ||
124 | \_ -> _ :: _ | ||
125 | (_rhs 'Unit) | ||
126 | \_ -> _rhs ('Empty "no instance of 'Component on ???") | ||
127 | g | ||
128 | f | ||
129 | e | ||
130 | d | ||
131 | c) | ||
132 | b | ||
133 | (match'Bool | ||
134 | \_ -> _ | ||
135 | ('NatCase | ||
136 | \_ -> _ :: _ | ||
137 | (_rhs ('Empty "no instance of 'Component on ???")) | ||
138 | \(h :: _) -> 'NatCase | ||
139 | \_ -> _ :: _ | ||
140 | (_rhs ('Empty "no instance of 'Component on ???")) | ||
141 | \(i :: _) -> 'NatCase | ||
142 | \_ -> _ :: _ | ||
143 | (_rhs 'Unit) | ||
144 | \(j :: _) -> 'NatCase | ||
145 | \_ -> _ :: _ | ||
146 | (_rhs 'Unit) | ||
147 | \(k :: _) -> 'NatCase | ||
148 | \_ -> _ :: _ | ||
149 | (_rhs 'Unit) | ||
150 | \_ -> _rhs ('Empty "no instance of 'Component on ???") | ||
151 | k | ||
152 | j | ||
153 | i | ||
154 | h | ||
155 | c) | ||
156 | b | ||
157 | (_rhs ('Empty "no instance of 'Component on ???"))) | ||
158 | a | ||
159 | (match'Bool | ||
160 | \_ -> _ | ||
161 | (_rhs 'Unit) | ||
162 | a | ||
163 | (_rhs ('Empty "no instance of 'Component on ???"))))))) | ||
164 | :: Type -> Type | ||
165 | zero | ||
166 | = (\ @a -> \ @_ -> match'Int | ||
167 | \_ -> _ | ||
168 | (_rhs \(b := _rhs (fromInt 0 :: Int)) -> b) | ||
169 | a | ||
170 | (match'Word | ||
171 | \_ -> _ | ||
172 | (_rhs \(c := _rhs (fromInt 0 :: Word)) -> c) | ||
173 | a | ||
174 | (match'Float | ||
175 | \_ -> _ | ||
176 | (_rhs \(d := _rhs 0.0) -> d) | ||
177 | a | ||
178 | (match'VecS | ||
179 | \_ -> _ | ||
180 | \(e :: _) (f :: _) -> match'Float | ||
181 | \_ -> _ | ||
182 | ('NatCase | ||
183 | \_ -> _ :: _ | ||
184 | (_rhs undefined) | ||
185 | \(g :: _) -> 'NatCase | ||
186 | \_ -> _ :: _ | ||
187 | (_rhs undefined) | ||
188 | \(h :: _) -> 'NatCase | ||
189 | \_ -> _ :: _ | ||
190 | (_rhs \(i := _rhs (V2 0.0 0.0)) -> i) | ||
191 | \(j :: _) -> 'NatCase | ||
192 | \_ -> _ :: _ | ||
193 | (_rhs \(k := _rhs (V3 0.0 0.0 0.0)) -> k) | ||
194 | \(l :: _) -> 'NatCase | ||
195 | \_ -> _ :: _ | ||
196 | (_rhs \(m := _rhs (V4 0.0 0.0 0.0 0.0)) -> m) | ||
197 | \_ -> _rhs undefined | ||
198 | l | ||
199 | j | ||
200 | h | ||
201 | g | ||
202 | f) | ||
203 | e | ||
204 | (match'Bool | ||
205 | \_ -> _ | ||
206 | ('NatCase | ||
207 | \_ -> _ :: _ | ||
208 | (_rhs undefined) | ||
209 | \(n :: _) -> 'NatCase | ||
210 | \_ -> _ :: _ | ||
211 | (_rhs undefined) | ||
212 | \(o :: _) -> 'NatCase | ||
213 | \_ -> _ :: _ | ||
214 | (_rhs \(p := _rhs (V2 False False)) -> p) | ||
215 | \(q :: _) -> 'NatCase | ||
216 | \_ -> _ :: _ | ||
217 | (_rhs \(r := _rhs (V3 False False False)) -> r) | ||
218 | \(s :: _) -> 'NatCase | ||
219 | \_ -> _ :: _ | ||
220 | (_rhs \(t := _rhs (V4 False False False False)) -> t) | ||
221 | \_ -> _rhs undefined | ||
222 | s | ||
223 | q | ||
224 | o | ||
225 | n | ||
226 | f) | ||
227 | e | ||
228 | (_rhs undefined)) | ||
229 | a | ||
230 | (match'Bool \_ -> _ (_rhs \(u := _rhs False) -> u) a (_rhs undefined)))))) | ||
231 | :: forall v . Component v => v | ||
232 | one | ||
233 | = (\ @a -> \ @_ -> match'Int | ||
234 | \_ -> _ | ||
235 | (_rhs \(b := _rhs (fromInt 1 :: Int)) -> b) | ||
236 | a | ||
237 | (match'Word | ||
238 | \_ -> _ | ||
239 | (_rhs \(c := _rhs (fromInt 1 :: Word)) -> c) | ||
240 | a | ||
241 | (match'Float | ||
242 | \_ -> _ | ||
243 | (_rhs \(d := _rhs 1.0) -> d) | ||
244 | a | ||
245 | (match'VecS | ||
246 | \_ -> _ | ||
247 | \(e :: _) (f :: _) -> match'Float | ||
248 | \_ -> _ | ||
249 | ('NatCase | ||
250 | \_ -> _ :: _ | ||
251 | (_rhs undefined) | ||
252 | \(g :: _) -> 'NatCase | ||
253 | \_ -> _ :: _ | ||
254 | (_rhs undefined) | ||
255 | \(h :: _) -> 'NatCase | ||
256 | \_ -> _ :: _ | ||
257 | (_rhs \(i := _rhs (V2 1.0 1.0)) -> i) | ||
258 | \(j :: _) -> 'NatCase | ||
259 | \_ -> _ :: _ | ||
260 | (_rhs \(k := _rhs (V3 1.0 1.0 1.0)) -> k) | ||
261 | \(l :: _) -> 'NatCase | ||
262 | \_ -> _ :: _ | ||
263 | (_rhs \(m := _rhs (V4 1.0 1.0 1.0 1.0)) -> m) | ||
264 | \_ -> _rhs undefined | ||
265 | l | ||
266 | j | ||
267 | h | ||
268 | g | ||
269 | f) | ||
270 | e | ||
271 | (match'Bool | ||
272 | \_ -> _ | ||
273 | ('NatCase | ||
274 | \_ -> _ :: _ | ||
275 | (_rhs undefined) | ||
276 | \(n :: _) -> 'NatCase | ||
277 | \_ -> _ :: _ | ||
278 | (_rhs undefined) | ||
279 | \(o :: _) -> 'NatCase | ||
280 | \_ -> _ :: _ | ||
281 | (_rhs \(p := _rhs (V2 True True)) -> p) | ||
282 | \(q :: _) -> 'NatCase | ||
283 | \_ -> _ :: _ | ||
284 | (_rhs \(r := _rhs (V3 True True True)) -> r) | ||
285 | \(s :: _) -> 'NatCase | ||
286 | \_ -> _ :: _ | ||
287 | (_rhs \(t := _rhs (V4 True True True True)) -> t) | ||
288 | \_ -> _rhs undefined | ||
289 | s | ||
290 | q | ||
291 | o | ||
292 | n | ||
293 | f) | ||
294 | e | ||
295 | (_rhs undefined)) | ||
296 | a | ||
297 | (match'Bool \_ -> _ (_rhs \(u := _rhs True) -> u) a (_rhs undefined)))))) | ||
298 | :: forall v . Component v => v | ||
299 | 'Integral | ||
300 | = (\(a :: _) -> match'Int | ||
301 | \_ -> _ | ||
302 | (_rhs 'Unit) | ||
303 | a | ||
304 | (match'Word | ||
305 | \_ -> _ | ||
306 | (_rhs 'Unit) | ||
307 | a | ||
308 | (_rhs ('Empty "no instance of 'Integral on ???")))) | ||
309 | :: Type -> Type | ||
310 | 'Floating | ||
311 | = (\(a :: _) -> match'Float | ||
312 | \_ -> _ | ||
313 | (_rhs 'Unit) | ||
314 | a | ||
315 | (match'VecS | ||
316 | \_ -> _ | ||
317 | \(b :: _) (c :: _) -> match'Float | ||
318 | \_ -> _ | ||
319 | ('NatCase | ||
320 | \_ -> _ :: _ | ||
321 | (_rhs ('Empty "no instance of 'Floating on ???")) | ||
322 | \(d :: _) -> 'NatCase | ||
323 | \_ -> _ :: _ | ||
324 | (_rhs ('Empty "no instance of 'Floating on ???")) | ||
325 | \(e :: _) -> 'NatCase | ||
326 | \_ -> _ :: _ | ||
327 | (_rhs 'Unit) | ||
328 | \(f :: _) -> 'NatCase | ||
329 | \_ -> _ :: _ | ||
330 | (_rhs 'Unit) | ||
331 | \(g :: _) -> 'NatCase | ||
332 | \_ -> _ :: _ | ||
333 | (_rhs 'Unit) | ||
334 | \_ -> _rhs ('Empty "no instance of 'Floating on ???") | ||
335 | g | ||
336 | f | ||
337 | e | ||
338 | d | ||
339 | c) | ||
340 | b | ||
341 | (_rhs ('Empty "no instance of 'Floating on ???")) | ||
342 | a | ||
343 | (match'Mat | ||
344 | \_ -> _ | ||
345 | \(h :: _) (i :: _) (j :: _) -> 'NatCase | ||
346 | \_ -> _ :: _ | ||
347 | (_rhs ('Empty "no instance of 'Floating on ???")) | ||
348 | \(k :: _) -> 'NatCase | ||
349 | \_ -> _ :: _ | ||
350 | (_rhs ('Empty "no instance of 'Floating on ???")) | ||
351 | \(l :: _) -> 'NatCase | ||
352 | \_ -> _ :: _ | ||
353 | ('NatCase | ||
354 | \_ -> _ :: _ | ||
355 | (_rhs ('Empty "no instance of 'Floating on ???")) | ||
356 | \(m :: _) -> 'NatCase | ||
357 | \_ -> _ :: _ | ||
358 | (_rhs ('Empty "no instance of 'Floating on ???")) | ||
359 | \(n :: _) -> 'NatCase | ||
360 | \_ -> _ :: _ | ||
361 | (match'Float | ||
362 | \_ -> _ | ||
363 | (_rhs 'Unit) | ||
364 | j | ||
365 | (_rhs ('Empty "no instance of 'Floating on ???"))) | ||
366 | \(o :: _) -> 'NatCase | ||
367 | \_ -> _ :: _ | ||
368 | (match'Float | ||
369 | \_ -> _ | ||
370 | (_rhs 'Unit) | ||
371 | j | ||
372 | (_rhs ('Empty "no instance of 'Floating on ???"))) | ||
373 | \(p :: _) -> 'NatCase | ||
374 | \_ -> _ :: _ | ||
375 | (match'Float | ||
376 | \_ -> _ | ||
377 | (_rhs 'Unit) | ||
378 | j | ||
379 | (_rhs ('Empty "no instance of 'Floating on ???"))) | ||
380 | \_ -> _rhs ('Empty "no instance of 'Floating on ???") | ||
381 | p | ||
382 | o | ||
383 | n | ||
384 | m | ||
385 | i) | ||
386 | \(q :: _) -> 'NatCase | ||
387 | \_ -> _ :: _ | ||
388 | ('NatCase | ||
389 | \_ -> _ :: _ | ||
390 | (_rhs ('Empty "no instance of 'Floating on ???")) | ||
391 | \(r :: _) -> 'NatCase | ||
392 | \_ -> _ :: _ | ||
393 | (_rhs ('Empty "no instance of 'Floating on ???")) | ||
394 | \(s :: _) -> 'NatCase | ||
395 | \_ -> _ :: _ | ||
396 | (match'Float | ||
397 | \_ -> _ | ||
398 | (_rhs 'Unit) | ||
399 | j | ||
400 | (_rhs ('Empty "no instance of 'Floating on ???"))) | ||
401 | \(t :: _) -> 'NatCase | ||
402 | \_ -> _ :: _ | ||
403 | (match'Float | ||
404 | \_ -> _ | ||
405 | (_rhs 'Unit) | ||
406 | j | ||
407 | (_rhs ('Empty "no instance of 'Floating on ???"))) | ||
408 | \(u :: _) -> 'NatCase | ||
409 | \_ -> _ :: _ | ||
410 | (match'Float | ||
411 | \_ -> _ | ||
412 | (_rhs 'Unit) | ||
413 | j | ||
414 | (_rhs ('Empty "no instance of 'Floating on ???"))) | ||
415 | \_ -> _rhs ('Empty "no instance of 'Floating on ???") | ||
416 | u | ||
417 | t | ||
418 | s | ||
419 | r | ||
420 | i) | ||
421 | \(v :: _) -> 'NatCase | ||
422 | \_ -> _ :: _ | ||
423 | ('NatCase | ||
424 | \_ -> _ :: _ | ||
425 | (_rhs ('Empty "no instance of 'Floating on ???")) | ||
426 | \(w :: _) -> 'NatCase | ||
427 | \_ -> _ :: _ | ||
428 | (_rhs ('Empty "no instance of 'Floating on ???")) | ||
429 | \(x :: _) -> 'NatCase | ||
430 | \_ -> _ :: _ | ||
431 | (match'Float | ||
432 | \_ -> _ | ||
433 | (_rhs 'Unit) | ||
434 | j | ||
435 | (_rhs ('Empty "no instance of 'Floating on ???"))) | ||
436 | \(y :: _) -> 'NatCase | ||
437 | \_ -> _ :: _ | ||
438 | (match'Float | ||
439 | \_ -> _ | ||
440 | (_rhs 'Unit) | ||
441 | j | ||
442 | (_rhs ('Empty "no instance of 'Floating on ???"))) | ||
443 | \(z :: _) -> 'NatCase | ||
444 | \_ -> _ :: _ | ||
445 | (match'Float | ||
446 | \_ -> _ | ||
447 | (_rhs 'Unit) | ||
448 | j | ||
449 | (_rhs ('Empty "no instance of 'Floating on ???"))) | ||
450 | \_ -> _rhs ('Empty "no instance of 'Floating on ???") | ||
451 | z | ||
452 | y | ||
453 | x | ||
454 | w | ||
455 | i) | ||
456 | \_ -> _rhs ('Empty "no instance of 'Floating on ???") | ||
457 | v | ||
458 | q | ||
459 | l | ||
460 | k | ||
461 | h | ||
462 | a | ||
463 | (_rhs ('Empty "no instance of 'Floating on ???"))))) | ||
464 | :: Type -> Type | ||
465 | PrimAdd :: forall (a :: _) . Num (MatVecScalarElem a) => a -> a -> a | ||
466 | PrimSub :: forall (a :: _) . Num (MatVecScalarElem a) => a -> a -> a | ||
467 | PrimMul :: forall (a :: _) . Num (MatVecScalarElem a) => a -> a -> a | ||
468 | PrimAddS | ||
469 | :: forall (a :: _) (b :: _) . (a ~ MatVecScalarElem b, Num a) => b -> a -> b | ||
470 | PrimSubS | ||
471 | :: forall (a :: _) (b :: _) . (a ~ MatVecScalarElem b, Num a) => b -> a -> b | ||
472 | PrimMulS | ||
473 | :: forall (a :: _) (b :: _) . (a ~ MatVecScalarElem b, Num a) => b -> a -> b | ||
474 | PrimDiv | ||
475 | :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b | ||
476 | PrimMod | ||
477 | :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b | ||
478 | PrimDivS | ||
479 | :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b | ||
480 | PrimModS | ||
481 | :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b | ||
482 | PrimNeg :: forall (a :: _) . Signed (MatVecScalarElem a) => a -> a | ||
483 | PrimBAnd | ||
484 | :: forall (a :: _) (b :: _) (c :: _) | ||
485 | . (Integral a, b ~ VecScalar c a) => b -> b -> b | ||
486 | PrimBOr | ||
487 | :: forall (a :: _) (b :: _) (c :: _) | ||
488 | . (Integral a, b ~ VecScalar c a) => b -> b -> b | ||
489 | PrimBXor | ||
490 | :: forall (a :: _) (b :: _) (c :: _) | ||
491 | . (Integral a, b ~ VecScalar c a) => b -> b -> b | ||
492 | PrimBAndS | ||
493 | :: forall (a :: _) (b :: _) (c :: _) | ||
494 | . (Integral a, b ~ VecScalar c a) => b -> a -> b | ||
495 | PrimBOrS | ||
496 | :: forall (a :: _) (b :: _) (c :: _) | ||
497 | . (Integral a, b ~ VecScalar c a) => b -> a -> b | ||
498 | PrimBXorS | ||
499 | :: forall (a :: _) (b :: _) (c :: _) | ||
500 | . (Integral a, b ~ VecScalar c a) => b -> a -> b | ||
501 | PrimBNot | ||
502 | :: forall (a :: _) (b :: _) (c :: _) . (Integral a, b ~ VecScalar c a) => b -> b | ||
503 | PrimBShiftL | ||
504 | :: forall (a :: _) (b :: _) (c :: _) (d :: _) | ||
505 | . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b | ||
506 | PrimBShiftR | ||
507 | :: forall (a :: _) (b :: _) (c :: _) (d :: _) | ||
508 | . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b | ||
509 | PrimBShiftLS | ||
510 | :: forall (a :: _) (b :: _) (c :: _) | ||
511 | . (Integral a, b ~ VecScalar c a) => b -> Word -> b | ||
512 | PrimBShiftRS | ||
513 | :: forall (a :: _) (b :: _) (c :: _) | ||
514 | . (Integral a, b ~ VecScalar c a) => b -> Word -> b | ||
515 | PrimAnd :: Bool -> Bool -> Bool | ||
516 | PrimOr :: Bool -> Bool -> Bool | ||
517 | PrimXor :: Bool -> Bool -> Bool | ||
518 | PrimNot :: forall (a :: _) (b :: _) . (a ~ VecScalar b Bool) => a -> a | ||
519 | PrimAny :: forall (a :: _) . VecScalar a Bool -> Bool | ||
520 | PrimAll :: forall (a :: _) . VecScalar a Bool -> Bool | ||
521 | PrimACos :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
522 | PrimACosH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
523 | PrimASin :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
524 | PrimASinH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
525 | PrimATan :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
526 | PrimATanH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
527 | PrimCos :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
528 | PrimCosH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
529 | PrimDegrees :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
530 | PrimRadians :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
531 | PrimSin :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
532 | PrimSinH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
533 | PrimTan :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
534 | PrimTanH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
535 | PrimExp :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
536 | PrimLog :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
537 | PrimExp2 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
538 | PrimLog2 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
539 | PrimSqrt :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
540 | PrimInvSqrt :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
541 | PrimPow :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a | ||
542 | PrimATan2 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a | ||
543 | PrimFloor :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
544 | PrimTrunc :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
545 | PrimRound :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
546 | PrimRoundEven :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
547 | PrimCeil :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
548 | PrimFract :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
549 | PrimMin | ||
550 | :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b | ||
551 | PrimMax | ||
552 | :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b | ||
553 | PrimMinS | ||
554 | :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b | ||
555 | PrimMaxS | ||
556 | :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b | ||
557 | PrimIsNan | ||
558 | :: forall (a :: _) (b :: _) (c :: _) | ||
559 | . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c | ||
560 | PrimIsInf | ||
561 | :: forall (a :: _) (b :: _) (c :: _) | ||
562 | . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c | ||
563 | PrimAbs | ||
564 | :: forall (a :: _) (b :: _) (c :: _) . (Signed a, b ~ VecScalar c a) => b -> b | ||
565 | PrimSign | ||
566 | :: forall (a :: _) (b :: _) (c :: _) . (Signed a, b ~ VecScalar c a) => b -> b | ||
567 | PrimModF | ||
568 | :: forall (a :: _) (b :: _) | ||
569 | . (a ~ VecScalar b Float) => a -> HList ('Cons a ('Cons a 'Nil)) | ||
570 | PrimClamp | ||
571 | :: forall (a :: _) (b :: _) (c :: _) | ||
572 | . (Num a, b ~ VecScalar c a) => b -> b -> b -> b | ||
573 | PrimClampS | ||
574 | :: forall (a :: _) (b :: _) (c :: _) | ||
575 | . (Num a, b ~ VecScalar c a) => b -> a -> a -> b | ||
576 | PrimMix | ||
577 | :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a -> a | ||
578 | PrimMixS | ||
579 | :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> Float -> a | ||
580 | PrimMixB | ||
581 | :: forall (a :: _) (b :: _) (c :: _) | ||
582 | . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> a -> c -> a | ||
583 | PrimStep :: forall (a :: _) (b :: _) . (a ~ Vec b Float) => a -> a -> a | ||
584 | PrimStepS | ||
585 | :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => Float -> a -> a | ||
586 | PrimSmoothStep | ||
587 | :: forall (a :: _) (b :: _) . (a ~ Vec b Float) => a -> a -> a -> a | ||
588 | PrimSmoothStepS | ||
589 | :: forall (a :: _) (b :: _) | ||
590 | . (a ~ VecScalar b Float) => Float -> Float -> a -> a | ||
591 | PrimFloatBitsToInt :: forall (a :: _) . VecScalar a Float -> VecScalar a Int | ||
592 | PrimFloatBitsToUInt :: forall (a :: _) . VecScalar a Float -> VecScalar a Word | ||
593 | PrimIntBitsToFloat :: forall (a :: _) . VecScalar a Int -> VecScalar a Float | ||
594 | PrimUIntBitsToFloat :: forall (a :: _) . VecScalar a Word -> VecScalar a Float | ||
595 | PrimLength :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> Float | ||
596 | PrimDistance | ||
597 | :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> Float | ||
598 | PrimDot :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> Float | ||
599 | PrimCross :: forall (a :: _) . (a ~ VecScalar (fromInt 3) Float) => a -> a -> a | ||
600 | PrimNormalize :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
601 | PrimFaceForward | ||
602 | :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a -> a | ||
603 | PrimRefract | ||
604 | :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a -> a | ||
605 | PrimReflect :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a | ||
606 | PrimTranspose :: forall (a :: _) (b :: _) (c :: _) . Mat a b c -> Mat b a c | ||
607 | PrimDeterminant :: forall (a :: _) (b :: _) . Mat a a b -> Float | ||
608 | PrimInverse :: forall (a :: _) (b :: _) . Mat a a b -> Mat a a b | ||
609 | PrimOuterProduct | ||
610 | :: forall (a :: _) (b :: _) (c :: _) . Vec a b -> Vec c b -> Mat c a b | ||
611 | PrimMulMatVec | ||
612 | :: forall (a :: _) (b :: _) (c :: _) . Mat a b c -> Vec b c -> Vec a c | ||
613 | PrimMulVecMat | ||
614 | :: forall (a :: _) (b :: _) (c :: _) . Vec a b -> Mat a c b -> Vec c b | ||
615 | PrimMulMatMat | ||
616 | :: forall (a :: _) (b :: _) (c :: _) (d :: _) | ||
617 | . Mat a b c -> Mat b d c -> Mat a d c | ||
618 | PrimLessThan | ||
619 | :: forall (a :: _) (b :: _) (c :: _) (d :: _) | ||
620 | . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d | ||
621 | PrimLessThanEqual | ||
622 | :: forall (a :: _) (b :: _) (c :: _) (d :: _) | ||
623 | . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d | ||
624 | PrimGreaterThan | ||
625 | :: forall (a :: _) (b :: _) (c :: _) (d :: _) | ||
626 | . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d | ||
627 | PrimGreaterThanEqual | ||
628 | :: forall (a :: _) (b :: _) (c :: _) (d :: _) | ||
629 | . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d | ||
630 | PrimEqualV | ||
631 | :: forall (a :: _) (b :: _) (c :: _) (d :: _) | ||
632 | . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d | ||
633 | PrimNotEqualV | ||
634 | :: forall (a :: _) (b :: _) (c :: _) (d :: _) | ||
635 | . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d | ||
636 | PrimEqual | ||
637 | :: forall (a :: _) (b :: _) . (b ~ MatVecScalarElem a) => a -> a -> Bool | ||
638 | PrimNotEqual | ||
639 | :: forall (a :: _) (b :: _) . (b ~ MatVecScalarElem a) => a -> a -> Bool | ||
640 | PrimDFdx :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
641 | PrimDFdy :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
642 | PrimFWidth :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a | ||
643 | PrimNoise1 :: forall (a :: _) . VecScalar a Float -> Float | ||
644 | PrimNoise2 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 2) Float | ||
645 | PrimNoise3 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 3) Float | ||
646 | PrimNoise4 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 4) Float | ||
647 | head | ||
648 | = \(a :: _) -> 'ListCase | ||
649 | \_ -> _ :: _ | ||
650 | (_rhs undefined) | ||
651 | \(b :: _) -> \_ -> _rhs b | ||
652 | a | ||
653 | ++ | ||
654 | = \(a :: _) (b :: _) -> 'ListCase | ||
655 | \_ -> _ :: _ | ||
656 | (_rhs b) | ||
657 | \(c :: _) (d :: _) -> _rhs (c : d ++ b) | ||
658 | a | ||
659 | foldr | ||
660 | = \(a :: _) (b :: _) (c :: _) -> 'ListCase | ||
661 | \_ -> _ :: _ | ||
662 | (_rhs b) | ||
663 | \(d :: _) (e :: _) -> _rhs (a d (foldr a b e)) | ||
664 | c | ||
665 | concat = _rhs (foldr ++ Nil) | ||
666 | map | ||
667 | = \(a :: _) (b :: _) -> 'ListCase | ||
668 | \_ -> _ :: _ | ||
669 | (_rhs Nil) | ||
670 | \(c :: _) (d :: _) -> _rhs (a c : map a d) | ||
671 | b | ||
672 | concatMap | ||
673 | = (\(a :: _) (b :: _) -> _rhs (concat (map a b))) | ||
674 | :: forall (c :: _) (d :: _) . (c -> List d) -> List c -> List d | ||
675 | len | ||
676 | = \(a :: _) -> 'ListCase | ||
677 | \_ -> _ :: _ | ||
678 | (_rhs (fromInt 0)) | ||
679 | \_ (b :: _) -> _rhs (fromInt 1 `primAddInt` len b) | ||
680 | a | ||
681 | data Maybe (_ :: Type) :: Type where | ||
682 | Nothing :: Maybe _a | ||
683 | Just :: _a -> Maybe _a | ||
684 | data Vector (_ :: Nat) (_ :: Type) :: Type where | ||
685 | |||
686 | data PrimitiveType :: Type where | ||
687 | Triangle :: PrimitiveType | ||
688 | Line :: PrimitiveType | ||
689 | Point :: PrimitiveType | ||
690 | TriangleAdjacency :: PrimitiveType | ||
691 | LineAdjacency :: PrimitiveType | ||
692 | data Primitive (_ :: Type) :: PrimitiveType -> Type where | ||
693 | PrimPoint :: _a -> Primitive _a Point | ||
694 | PrimLine :: _a -> _a -> Primitive _a Line | ||
695 | PrimTriangle :: _a -> _a -> _a -> Primitive _a Triangle | ||
696 | mapPrimitive | ||
697 | :: forall (a :: _) (b :: _) (c :: _) | ||
698 | . (a -> b) -> Primitive a c -> Primitive b c | ||
699 | 'PrimitiveStream = \(a :: _) (b :: _) -> _rhs ('List ('Primitive b a)) | ||
700 | mapPrimitives | ||
701 | = (\(a :: _) -> _rhs (map (mapPrimitive a))) | ||
702 | :: forall (b :: _) (c :: _) (d :: _) | ||
703 | . (b -> c) -> PrimitiveStream d b -> PrimitiveStream d c | ||
704 | 'ListElem | ||
705 | = (\(a :: _) -> match'List \_ -> _ \(b :: _) -> _rhs b a undefined) | ||
706 | :: Type -> Type | ||
707 | fetchArrays | ||
708 | :: forall (a :: _) (b :: _) (c :: _) | ||
709 | . (b ~ map ListElem c) => HList c -> PrimitiveStream a (HList b) | ||
710 | fetch | ||
711 | :: forall (a :: _) (b :: _) . String -> HList b -> PrimitiveStream a (HList b) | ||
712 | Attribute :: forall (a :: _) . String -> a | ||
713 | fetchStream | ||
714 | :: forall (a :: _) (b :: List Type) | ||
715 | . String | ||
716 | -> forall (c :: List String) -> (len c ~ len b) => PrimitiveStream a (HList b) | ||
717 | data SimpleFragment (_ :: Type) :: Type where | ||
718 | SimpleFragment :: Vec (fromInt 3) Float -> _a -> SimpleFragment _a | ||
719 | 'Fragment = \(a :: _) (b :: _) -> _rhs ('Vector a ('Maybe ('SimpleFragment b))) | ||
720 | sFragmentCoords | ||
721 | = \(a :: _) -> 'SimpleFragmentCase \_ -> _ :: _ \(b :: _) -> \_ -> _rhs b a | ||
722 | sFragmentValue | ||
723 | = \(a :: _) -> 'SimpleFragmentCase \_ -> _ :: _ \_ (b :: _) -> _rhs b a | ||
724 | 'FragmentStream = \(a :: _) (b :: _) -> _rhs ('List ('Fragment a b)) | ||
725 | customizeDepth | ||
726 | :: forall (a :: _) (b :: _) . (a -> Float) -> Fragment b a -> Fragment b a | ||
727 | customizeDepths | ||
728 | = (\(a :: _) -> _rhs (map (customizeDepth a))) | ||
729 | :: forall (b :: _) (c :: _) | ||
730 | . (b -> Float) -> FragmentStream c b -> FragmentStream c b | ||
731 | filterFragment | ||
732 | :: forall (a :: _) (b :: _) . (a -> Bool) -> Fragment b a -> Fragment b a | ||
733 | filterFragments | ||
734 | = (\(a :: _) -> _rhs (map (filterFragment a))) | ||
735 | :: forall (b :: _) (c :: _) | ||
736 | . (b -> Bool) -> FragmentStream c b -> FragmentStream c b | ||
737 | mapFragment | ||
738 | :: forall (a :: _) (b :: _) (c :: _) . (a -> b) -> Fragment c a -> Fragment c b | ||
739 | mapFragments | ||
740 | = (\(a :: _) -> _rhs (map (mapFragment a))) | ||
741 | :: forall (b :: _) (c :: _) (d :: _) | ||
742 | . (b -> c) -> FragmentStream d b -> FragmentStream d c | ||
743 | data ImageKind :: Type where | ||
744 | Color :: Type -> ImageKind | ||
745 | Depth :: ImageKind | ||
746 | Stencil :: ImageKind | ||
747 | imageType | ||
748 | = (\(a :: _) -> 'ImageKindCase | ||
749 | \_ -> _ :: _ | ||
750 | \(b :: _) -> _rhs b | ||
751 | (_rhs 'Float) | ||
752 | (_rhs 'Int) | ||
753 | a) | ||
754 | :: ImageKind -> Type | ||
755 | data Image (_ :: Nat) (_ :: ImageKind) :: Type where | ||
756 | |||
757 | ColorImage | ||
758 | :: forall (a :: _) (b :: _) (c :: _) (d :: _) | ||
759 | . (Num c, d ~ VecScalar b c) => d -> Image a (Color d) | ||
760 | DepthImage :: forall (a :: _) . Float -> Image a Depth | ||
761 | StencilImage :: forall (a :: _) . Int -> Image a Stencil | ||
762 | emptyDepthImage = _rhs (DepthImage @(fromInt 1)) | ||
763 | emptyColorImage = _rhs (ColorImage @(fromInt 1)) | ||
764 | data Swizz :: Type where | ||
765 | Sx :: Swizz | ||
766 | Sy :: Swizz | ||
767 | Sz :: Swizz | ||
768 | Sw :: Swizz | ||
769 | swizzscalar | ||
770 | = (\(a :: _) (b :: _) -> 'VecSCase | ||
771 | \_ -> \_ -> _ :: _ | ||
772 | \(c :: _) (d :: _) -> 'SwizzCase | ||
773 | \_ -> _ :: _ | ||
774 | (_rhs c) | ||
775 | (_rhs d) | ||
776 | (_rhs undefined) | ||
777 | (_rhs undefined) | ||
778 | b | ||
779 | \(e :: _) (f :: _) (g :: _) -> 'SwizzCase | ||
780 | \_ -> _ :: _ | ||
781 | (_rhs e) | ||
782 | (_rhs f) | ||
783 | (_rhs g) | ||
784 | (_rhs undefined) | ||
785 | b | ||
786 | \(h :: _) (i :: _) (j :: _) (k :: _) -> 'SwizzCase | ||
787 | \_ -> _ :: _ | ||
788 | (_rhs h) | ||
789 | (_rhs i) | ||
790 | (_rhs j) | ||
791 | (_rhs k) | ||
792 | b | ||
793 | a) | ||
794 | :: forall (l :: _) (m :: _) . Vec m l -> Swizz -> l | ||
795 | definedVec | ||
796 | = (\(a :: _) -> 'VecSCase | ||
797 | \_ -> \_ -> _ :: _ | ||
798 | \_ -> \_ -> _rhs True | ||
799 | \_ -> \_ -> \_ -> _rhs True | ||
800 | \_ -> \_ -> \_ -> \_ -> _rhs True | ||
801 | a) | ||
802 | :: forall (b :: _) (c :: _) . Vec c b -> Bool | ||
803 | swizzvector | ||
804 | = (\(a :: _) (b :: _) -> 'BoolCase | ||
805 | \_ -> _ :: _ | ||
806 | (_rhs undefined) | ||
807 | (_rhs (mapVec (swizzscalar a) b)) | ||
808 | (definedVec a)) | ||
809 | :: forall (c :: _) (d :: _) (e :: _) . Vec d c -> Vec e Swizz -> Vec e c | ||
810 | data BlendingFactor :: Type where | ||
811 | ZeroBF :: BlendingFactor | ||
812 | OneBF :: BlendingFactor | ||
813 | SrcColor :: BlendingFactor | ||
814 | OneMinusSrcColor :: BlendingFactor | ||
815 | DstColor :: BlendingFactor | ||
816 | OneMinusDstColor :: BlendingFactor | ||
817 | SrcAlpha :: BlendingFactor | ||
818 | OneMinusSrcAlpha :: BlendingFactor | ||
819 | DstAlpha :: BlendingFactor | ||
820 | OneMinusDstAlpha :: BlendingFactor | ||
821 | ConstantColor :: BlendingFactor | ||
822 | OneMinusConstantColor :: BlendingFactor | ||
823 | ConstantAlpha :: BlendingFactor | ||
824 | OneMinusConstantAlpha :: BlendingFactor | ||
825 | SrcAlphaSaturate :: BlendingFactor | ||
826 | data BlendEquation :: Type where | ||
827 | FuncAdd :: BlendEquation | ||
828 | FuncSubtract :: BlendEquation | ||
829 | FuncReverseSubtract :: BlendEquation | ||
830 | Min :: BlendEquation | ||
831 | Max :: BlendEquation | ||
832 | data LogicOperation :: Type where | ||
833 | Clear :: LogicOperation | ||
834 | And :: LogicOperation | ||
835 | AndReverse :: LogicOperation | ||
836 | Copy :: LogicOperation | ||
837 | AndInverted :: LogicOperation | ||
838 | Noop :: LogicOperation | ||
839 | Xor :: LogicOperation | ||
840 | Or :: LogicOperation | ||
841 | Nor :: LogicOperation | ||
842 | Equiv :: LogicOperation | ||
843 | Invert :: LogicOperation | ||
844 | OrReverse :: LogicOperation | ||
845 | CopyInverted :: LogicOperation | ||
846 | OrInverted :: LogicOperation | ||
847 | Nand :: LogicOperation | ||
848 | Set :: LogicOperation | ||
849 | data StencilOperation :: Type where | ||
850 | OpZero :: StencilOperation | ||
851 | OpKeep :: StencilOperation | ||
852 | OpReplace :: StencilOperation | ||
853 | OpIncr :: StencilOperation | ||
854 | OpIncrWrap :: StencilOperation | ||
855 | OpDecr :: StencilOperation | ||
856 | OpDecrWrap :: StencilOperation | ||
857 | OpInvert :: StencilOperation | ||
858 | data ComparisonFunction :: Type where | ||
859 | Never :: ComparisonFunction | ||
860 | Less :: ComparisonFunction | ||
861 | Equal :: ComparisonFunction | ||
862 | Lequal :: ComparisonFunction | ||
863 | Greater :: ComparisonFunction | ||
864 | Notequal :: ComparisonFunction | ||
865 | Gequal :: ComparisonFunction | ||
866 | Always :: ComparisonFunction | ||
867 | data ProvokingVertex :: Type where | ||
868 | LastVertex :: ProvokingVertex | ||
869 | FirstVertex :: ProvokingVertex | ||
870 | data CullMode :: Type where | ||
871 | CullFront :: CullMode | ||
872 | CullBack :: CullMode | ||
873 | CullNone :: CullMode | ||
874 | data PointSize (_ :: Type) :: Type where | ||
875 | PointSize :: Float -> PointSize _a | ||
876 | ProgramPointSize :: (_a -> Float) -> PointSize _a | ||
877 | data PolygonMode (_ :: Type) :: Type where | ||
878 | PolygonFill :: PolygonMode _a | ||
879 | PolygonPoint :: PointSize _a -> PolygonMode _a | ||
880 | PolygonLine :: Float -> PolygonMode _a | ||
881 | data PolygonOffset :: Type where | ||
882 | NoOffset :: PolygonOffset | ||
883 | Offset :: Float -> Float -> PolygonOffset | ||
884 | data PointSpriteCoordOrigin :: Type where | ||
885 | LowerLeft :: PointSpriteCoordOrigin | ||
886 | UpperLeft :: PointSpriteCoordOrigin | ||
887 | primTexture :: HList 'Nil -> Vec (fromInt 2) Float -> Vec (fromInt 4) Float | ||
888 | Uniform :: forall (a :: _) . String -> a | ||
889 | data RasterContext (_ :: Type) :: PrimitiveType -> Type where | ||
890 | TriangleCtx | ||
891 | :: CullMode | ||
892 | -> PolygonMode _a | ||
893 | -> PolygonOffset -> ProvokingVertex -> RasterContext _a Triangle | ||
894 | PointCtx | ||
895 | :: PointSize _a -> Float -> PointSpriteCoordOrigin -> RasterContext _a Point | ||
896 | LineCtx :: Float -> ProvokingVertex -> RasterContext _a Line | ||
897 | data Blending :: Type -> Type where | ||
898 | NoBlending :: forall (a :: _) . Blending a | ||
899 | BlendLogicOp :: forall (b :: _) . Integral b => LogicOperation -> Blending b | ||
900 | Blend | ||
901 | :: HList ('Cons BlendEquation ('Cons BlendEquation 'Nil)) | ||
902 | -> HList | ||
903 | ('Cons | ||
904 | (HList ('Cons BlendingFactor ('Cons BlendingFactor 'Nil))) | ||
905 | ('Cons (HList ('Cons BlendingFactor ('Cons BlendingFactor 'Nil))) 'Nil)) | ||
906 | -> Vec (fromInt 4) Float -> Blending Float | ||
907 | data StencilTests :: Type where | ||
908 | |||
909 | data StencilOps :: Type where | ||
910 | |||
911 | data FragmentOperation :: ImageKind -> Type where | ||
912 | ColorOp | ||
913 | :: forall (a :: _) (b :: _) | ||
914 | . Num a | ||
915 | => Blending a -> VecScalar b Bool -> FragmentOperation (Color (VecScalar b a)) | ||
916 | DepthOp :: ComparisonFunction -> Bool -> FragmentOperation Depth | ||
917 | StencilOp | ||
918 | :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation Stencil | ||
919 | data Interpolated (_ :: Type) :: Type where | ||
920 | Smooth :: Floating _a => Interpolated _a | ||
921 | NoPerspective :: Floating _a => Interpolated _a | ||
922 | Flat :: Interpolated _a | ||
923 | rasterizePrimitive | ||
924 | :: forall (a :: _) (b :: _) (c :: _) (d :: _) | ||
925 | . (map Interpolated a ~ b, c ~ 'Cons (Vec (fromInt 4) Float) a) | ||
926 | => HList b | ||
927 | -> RasterContext (HList c) d | ||
928 | -> Primitive (HList c) d -> FragmentStream (fromInt 1) (HList a) | ||
929 | rasterizePrimitives | ||
930 | = \(a :: _) (b :: _) (c :: _) -> _rhs (concat (map (rasterizePrimitive b a) c)) | ||
931 | 'ImageLC | ||
932 | = (\(a :: _) -> match'Image \_ -> _ \(b :: _) -> \_ -> _rhs b a undefined) | ||
933 | :: Type -> Nat | ||
934 | allSame | ||
935 | = (\(a :: _) -> 'ListCase | ||
936 | \_ -> _ :: _ | ||
937 | (_rhs 'Unit) | ||
938 | \(b :: _) (c :: _) -> 'ListCase | ||
939 | \_ -> _ :: _ | ||
940 | (_rhs 'Unit) | ||
941 | \(d :: _) (e :: _) -> _rhs ('T2 (b ~ d) (allSame (d : e))) | ||
942 | c | ||
943 | a) | ||
944 | :: forall (f :: _) . List f -> Type | ||
945 | sameLayerCounts = \(a :: _) -> _rhs (allSame (map 'ImageLC a)) | ||
946 | data FrameBuffer (_ :: Nat) (_ :: List ImageKind) :: Type where | ||
947 | |||
948 | imageType' | ||
949 | = (\(a :: _) -> 'ListCase | ||
950 | \_ -> _ :: _ | ||
951 | (_rhs (map imageType a)) | ||
952 | \(b :: _) (c :: _) -> 'ImageKindCase | ||
953 | \_ -> _ :: _ | ||
954 | \_ -> _rhs (map imageType a) | ||
955 | (_rhs (map imageType c)) | ||
956 | (_rhs (map imageType a)) | ||
957 | b | ||
958 | a) | ||
959 | :: List ImageKind -> List Type | ||
960 | 'FragmentOperationKind | ||
961 | = (\(a :: _) -> match'FragmentOperation \_ -> _ \(b :: _) -> _rhs b a undefined) | ||
962 | :: Type -> ImageKind | ||
963 | Accumulate | ||
964 | :: forall (a :: _) (b :: Nat) (c :: List Type) | ||
965 | . (a ~ map FragmentOperationKind c) | ||
966 | => HList c | ||
967 | -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a | ||
968 | accumulateWith = \(a :: _) (b :: _) -> _rhs (HCons a (HCons b HNil)) | ||
969 | overlay | ||
970 | = \(a :: _) (b :: _) -> hlistConsCase | ||
971 | (_ :: _) | ||
972 | \(c :: _) (d :: _) -> hlistConsCase | ||
973 | (_ :: _) | ||
974 | \(e :: _) (f :: _) -> hlistNilCase (_ :: _) (_rhs (Accumulate c e a)) f | ||
975 | d | ||
976 | b | ||
977 | infixl 0 overlay | ||
978 | 'GetImageKind | ||
979 | = (\(a :: _) -> match'Image \_ -> _ \_ (b :: _) -> _rhs b a undefined) | ||
980 | :: Type -> ImageKind | ||
981 | FrameBuffer | ||
982 | :: forall (a :: List Type) | ||
983 | . sameLayerCounts a | ||
984 | => HList a -> FrameBuffer (ImageLC (head a)) (map GetImageKind a) | ||
985 | imageFrame = _rhs FrameBuffer | ||
986 | accumulate | ||
987 | = \(a :: _) (b :: _) (c :: _) (d :: _) -> _rhs | ||
988 | (Accumulate a (mapFragments b c) d) | ||
989 | PrjImage | ||
990 | :: forall (a :: _) | ||
991 | . FrameBuffer (fromInt 1) ('Cons a 'Nil) -> Image (fromInt 1) a | ||
992 | PrjImageColor | ||
993 | :: FrameBuffer | ||
994 | (fromInt 1) | ||
995 | ('Cons 'Depth ('Cons ('Color (Vec (fromInt 4) Float)) 'Nil)) | ||
996 | -> Image (fromInt 1) (Color (Vec (fromInt 4) Float)) | ||
997 | data Output :: Type where | ||
998 | ScreenOut :: forall (a :: _) (b :: _) . FrameBuffer a b -> Output | ||
999 | renderFrame = _rhs ScreenOut | ||
1000 | data Texture :: Type where | ||
1001 | Texture2DSlot :: String -> Texture | ||
1002 | Texture2D | ||
1003 | :: Vec (fromInt 2) Int | ||
1004 | -> Image (fromInt 1) (Color (Vec (fromInt 4) Float)) -> Texture | ||
1005 | data Filter :: Type where | ||
1006 | PointFilter :: Filter | ||
1007 | LinearFilter :: Filter | ||
1008 | data EdgeMode :: Type where | ||
1009 | Repeat :: EdgeMode | ||
1010 | MirroredRepeat :: EdgeMode | ||
1011 | ClampToEdge :: EdgeMode | ||
1012 | data Sampler :: Type where | ||
1013 | Sampler :: Filter -> EdgeMode -> Texture -> Sampler | ||
1014 | texture2D :: Sampler -> Vec (fromInt 2) Float -> Vec (fromInt 4) Float | ||
1015 | accumulationContext = \(a :: _) -> _rhs a | ||
1 | main is not found | 1016 | main is not found |
2 | ------------ trace | 1017 | ------------ trace |
3 | id :: [32mforall a . [32ma[0;32m -> [32ma[0;32m[0m | 1018 | id :: [32mforall a . [32ma[0;32m -> [32ma[0;32m[0m |
@@ -5,8 +1020,16 @@ id :: [32mforall a . [32ma[0;32m -> [32ma[0;32m[0m | |||
5 | V2 :: [32mforall a . [32ma[0;32m -> [32ma[0;32m -> VecS [32ma[0;32m 2[0m | 1020 | V2 :: [32mforall a . [32ma[0;32m -> [32ma[0;32m -> VecS [32ma[0;32m 2[0m |
6 | V3 :: [32mforall a . [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> VecS [32ma[0;32m 3[0m | 1021 | V3 :: [32mforall a . [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> VecS [32ma[0;32m 3[0m |
7 | V4 :: [32mforall a . [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> VecS [32ma[0;32m 4[0m | 1022 | V4 :: [32mforall a . [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> VecS [32ma[0;32m 4[0m |
8 | 'VecSCase :: [32mforall a . forall (b :: forall (c :: Nat) -> VecS [32ma[0;32m [32mc[0;32m -> Type) -> (forall (d :: [32ma[0;32m) (e :: [32ma[0;32m) -> [32m[32m[32mb[0;32m [32m2[0;32m[0;32m [32m('V2 [32md[0;32m [32me[0;32m)[0;32m[0;32m) -> (forall (f :: [32ma[0;32m) (g :: [32ma[0;32m) (h :: [32ma[0;32m) -> [32m[32m[32mb[0;32m [32m3[0;32m[0;32m [32m('V3 [32mf[0;32m [32mg[0;32m [32mh[0;32m)[0;32m[0;32m) -> (forall (i :: [32ma[0;32m) (j :: [32ma[0;32m) (k :: [32ma[0;32m) (l :: [32ma[0;32m) -> [32m[32m[32mb[0;32m [32m4[0;32m[0;32m [32m('V4 [32mi[0;32m [32mj[0;32m [32mk[0;32m [32ml[0;32m)[0;32m[0;32m) -> forall (m :: Nat) . forall (n :: VecS [32ma[0;32m [32mm[0;32m) -> [32m[32m[32mb[0;32m [32m[32mm[0;32m[0;32m[0;32m [32m[32mn[0;32m[0;32m[0;32m[0m | 1023 | 'VecSCase |
9 | match'VecS :: [32mforall (a :: Type -> Type) -> (forall b (c :: Nat) -> [32m[32ma[0;32m [32m(VecS [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) -> forall d -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | 1024 | :: [32mforall a |
1025 | . forall (b :: forall (c :: Nat) -> VecS [32ma[0;32m [32mc[0;32m -> Type) | ||
1026 | -> (forall (d :: [32ma[0;32m) (e :: [32ma[0;32m) -> [32m[32m[32mb[0;32m [32m2[0;32m[0;32m [32m('V2 [32md[0;32m [32me[0;32m)[0;32m[0;32m) | ||
1027 | -> (forall (f :: [32ma[0;32m) (g :: [32ma[0;32m) (h :: [32ma[0;32m) -> [32m[32m[32mb[0;32m [32m3[0;32m[0;32m [32m('V3 [32mf[0;32m [32mg[0;32m [32mh[0;32m)[0;32m[0;32m) | ||
1028 | -> (forall (i :: [32ma[0;32m) (j :: [32ma[0;32m) (k :: [32ma[0;32m) (l :: [32ma[0;32m) -> [32m[32m[32mb[0;32m [32m4[0;32m[0;32m [32m('V4 [32mi[0;32m [32mj[0;32m [32mk[0;32m [32ml[0;32m)[0;32m[0;32m) | ||
1029 | -> forall (m :: Nat) . forall (n :: VecS [32ma[0;32m [32mm[0;32m) -> [32m[32m[32mb[0;32m [32m[32mm[0;32m[0;32m[0;32m [32m[32mn[0;32m[0;32m[0;32m[0m | ||
1030 | match'VecS | ||
1031 | :: [32mforall (a :: Type -> Type) | ||
1032 | -> (forall b (c :: Nat) -> [32m[32ma[0;32m [32m(VecS [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) -> forall d -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | ||
10 | mapVec :: [32mforall a b (c :: Nat) . ([32ma[0;32m -> [32mb[0;32m) -> VecS [32ma[0;32m [32mc[0;32m -> VecS [32mb[0;32m [32mc[0;32m[0m | 1033 | mapVec :: [32mforall a b (c :: Nat) . ([32ma[0;32m -> [32mb[0;32m) -> VecS [32ma[0;32m [32mc[0;32m -> VecS [32mb[0;32m [32mc[0;32m[0m |
11 | 'Vec :: [32mNat -> Type -> Type[0m | 1034 | 'Vec :: [32mNat -> Type -> Type[0m |
12 | 'VecScalar :: [32mNat -> Type -> Type[0m | 1035 | 'VecScalar :: [32mNat -> Type -> Type[0m |
@@ -17,11 +1040,37 @@ M42F :: [32m[32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4 | |||
17 | M23F :: [32m[32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> Mat 2 3 Float[0m | 1040 | M23F :: [32m[32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> Mat 2 3 Float[0m |
18 | M33F :: [32m[32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> Mat 3 3 Float[0m | 1041 | M33F :: [32m[32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> Mat 3 3 Float[0m |
19 | M43F :: [32m[32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> Mat 4 3 Float[0m | 1042 | M43F :: [32m[32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> Mat 4 3 Float[0m |
20 | M24F :: [32m[32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> Mat 2 4 Float[0m | 1043 | M24F |
21 | M34F :: [32m[32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> Mat 3 4 Float[0m | 1044 | :: [32m[32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> Mat 2 4 Float[0m |
22 | M44F :: [32m[32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> Mat 4 4 Float[0m | 1045 | M34F |
23 | 'MatCase :: [32mforall (a :: forall (b :: Nat) (c :: Nat) d -> Mat [32mb[0;32m [32mc[0;32m [32md[0;32m -> Type) -> (forall (e :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) (f :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m2[0;32m[0;32m [32m2[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M22F [32me[0;32m [32mf[0;32m)[0;32m[0;32m) -> (forall (g :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (h :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m3[0;32m[0;32m [32m2[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M32F [32mg[0;32m [32mh[0;32m)[0;32m[0;32m) -> (forall (i :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) (j :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m4[0;32m[0;32m [32m2[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M42F [32mi[0;32m [32mj[0;32m)[0;32m[0;32m) -> (forall (k :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) (l :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) (m :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m2[0;32m[0;32m [32m3[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M23F [32mk[0;32m [32ml[0;32m [32mm[0;32m)[0;32m[0;32m) -> (forall (n :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (o :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (p :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m3[0;32m[0;32m [32m3[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M33F [32mn[0;32m [32mo[0;32m [32mp[0;32m)[0;32m[0;32m) -> (forall (q :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) (r :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) (s :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m4[0;32m[0;32m [32m3[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M43F [32mq[0;32m [32mr[0;32m [32ms[0;32m)[0;32m[0;32m) -> (forall (t :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) (u :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) (v :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) (w :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m2[0;32m[0;32m [32m4[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M24F [32mt[0;32m [32mu[0;32m [32mv[0;32m [32mw[0;32m)[0;32m[0;32m) -> (forall (x :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (y :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (z :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (a' :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m3[0;32m[0;32m [32m4[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M34F [32mx[0;32m [32my[0;32m [32mz[0;32m [32ma'[0;32m)[0;32m[0;32m) -> (forall (b' :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) (c' :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) (d' :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) (e' :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m4[0;32m[0;32m [32m4[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M44F [32mb'[0;32m [32mc'[0;32m [32md'[0;32m [32me'[0;32m)[0;32m[0;32m) -> forall (f' :: Nat) (g' :: Nat) h' . forall (i' :: Mat [32mf'[0;32m [32mg'[0;32m [32mh'[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m[32mf'[0;32m[0;32m[0;32m [32m[32mg'[0;32m[0;32m[0;32m [32m[32mh'[0;32m[0;32m[0;32m [32m[32mi'[0;32m[0;32m[0;32m[0m | 1046 | :: [32m[32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> Mat 3 4 Float[0m |
24 | match'Mat :: [32mforall (a :: Type -> Type) -> (forall (b :: Nat) (c :: Nat) d -> [32m[32ma[0;32m [32m(Mat [32mb[0;32m [32mc[0;32m [32md[0;32m)[0;32m[0;32m) -> forall e -> [32m[32ma[0;32m [32m[32me[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | 1047 | M44F |
1048 | :: [32m[32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> Mat 4 4 Float[0m | ||
1049 | 'MatCase | ||
1050 | :: [32mforall (a :: forall (b :: Nat) (c :: Nat) d -> Mat [32mb[0;32m [32mc[0;32m [32md[0;32m -> Type) | ||
1051 | -> (forall (e :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) (f :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m2[0;32m[0;32m [32m2[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M22F [32me[0;32m [32mf[0;32m)[0;32m[0;32m) | ||
1052 | -> (forall (g :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (h :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m3[0;32m[0;32m [32m2[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M32F [32mg[0;32m [32mh[0;32m)[0;32m[0;32m) | ||
1053 | -> (forall (i :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) (j :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m4[0;32m[0;32m [32m2[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M42F [32mi[0;32m [32mj[0;32m)[0;32m[0;32m) | ||
1054 | -> (forall (k :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) (l :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) (m :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) | ||
1055 | -> [32m[32m[32m[32m[32ma[0;32m [32m2[0;32m[0;32m [32m3[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M23F [32mk[0;32m [32ml[0;32m [32mm[0;32m)[0;32m[0;32m) | ||
1056 | -> (forall (n :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (o :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (p :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) | ||
1057 | -> [32m[32m[32m[32m[32ma[0;32m [32m3[0;32m[0;32m [32m3[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M33F [32mn[0;32m [32mo[0;32m [32mp[0;32m)[0;32m[0;32m) | ||
1058 | -> (forall (q :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) (r :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) (s :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) | ||
1059 | -> [32m[32m[32m[32m[32ma[0;32m [32m4[0;32m[0;32m [32m3[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M43F [32mq[0;32m [32mr[0;32m [32ms[0;32m)[0;32m[0;32m) | ||
1060 | -> (forall (t :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) | ||
1061 | (u :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) (v :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) (w :: [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m) | ||
1062 | -> [32m[32m[32m[32m[32ma[0;32m [32m2[0;32m[0;32m [32m4[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M24F [32mt[0;32m [32mu[0;32m [32mv[0;32m [32mw[0;32m)[0;32m[0;32m) | ||
1063 | -> (forall (x :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) | ||
1064 | (y :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (z :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (a' :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) | ||
1065 | -> [32m[32m[32m[32m[32ma[0;32m [32m3[0;32m[0;32m [32m4[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M34F [32mx[0;32m [32my[0;32m [32mz[0;32m [32ma'[0;32m)[0;32m[0;32m) | ||
1066 | -> (forall (b' :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) | ||
1067 | (c' :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) (d' :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) (e' :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) | ||
1068 | -> [32m[32m[32m[32m[32ma[0;32m [32m4[0;32m[0;32m [32m4[0;32m[0;32m [32mFloat[0;32m[0;32m [32m('M44F [32mb'[0;32m [32mc'[0;32m [32md'[0;32m [32me'[0;32m)[0;32m[0;32m) | ||
1069 | -> forall (f' :: Nat) (g' :: Nat) h' | ||
1070 | . forall (i' :: Mat [32mf'[0;32m [32mg'[0;32m [32mh'[0;32m) -> [32m[32m[32m[32m[32ma[0;32m [32m[32mf'[0;32m[0;32m[0;32m [32m[32mg'[0;32m[0;32m[0;32m [32m[32mh'[0;32m[0;32m[0;32m [32m[32mi'[0;32m[0;32m[0;32m[0m | ||
1071 | match'Mat | ||
1072 | :: [32mforall (a :: Type -> Type) | ||
1073 | -> (forall (b :: Nat) (c :: Nat) d -> [32m[32ma[0;32m [32m(Mat [32mb[0;32m [32mc[0;32m [32md[0;32m)[0;32m[0;32m) -> forall e -> [32m[32ma[0;32m [32m[32me[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | ||
25 | 'MatVecScalarElem :: [32mType -> Type[0m | 1074 | 'MatVecScalarElem :: [32mType -> Type[0m |
26 | 'Signed :: [32mType -> Type[0m | 1075 | 'Signed :: [32mType -> Type[0m |
27 | 'Component :: [32mType -> Type[0m | 1076 | 'Component :: [32mType -> Type[0m |
@@ -40,17 +1089,29 @@ PrimMod :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;3 | |||
40 | PrimDivS :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m | 1089 | PrimDivS :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m |
41 | PrimModS :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m | 1090 | PrimModS :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m |
42 | PrimNeg :: [32mforall a . [32mSigned [32m[32m(MatVecScalarElem [32m[32ma[0;32m[0;32m)[0;32m[0;32m[0;32m => [32ma[0;32m -> [32ma[0;32m[0m | 1091 | PrimNeg :: [32mforall a . [32mSigned [32m[32m(MatVecScalarElem [32m[32ma[0;32m[0;32m)[0;32m[0;32m[0;32m => [32ma[0;32m -> [32ma[0;32m[0m |
43 | PrimBAnd :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m -> [32mb[0;32m[0m | 1092 | PrimBAnd |
44 | PrimBOr :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m -> [32mb[0;32m[0m | 1093 | :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m -> [32mb[0;32m[0m |
45 | PrimBXor :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m -> [32mb[0;32m[0m | 1094 | PrimBOr |
46 | PrimBAndS :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m | 1095 | :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m -> [32mb[0;32m[0m |
47 | PrimBOrS :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m | 1096 | PrimBXor |
48 | PrimBXorS :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m | 1097 | :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m -> [32mb[0;32m[0m |
1098 | PrimBAndS | ||
1099 | :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m | ||
1100 | PrimBOrS | ||
1101 | :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m | ||
1102 | PrimBXorS | ||
1103 | :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m | ||
49 | PrimBNot :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m[0m | 1104 | PrimBNot :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m[0m |
50 | PrimBShiftL :: [32mforall a b (c :: Nat) d . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32mWord[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32md[0;32m -> [32mb[0;32m[0m | 1105 | PrimBShiftL |
51 | PrimBShiftR :: [32mforall a b (c :: Nat) d . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32mWord[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32md[0;32m -> [32mb[0;32m[0m | 1106 | :: [32mforall a b (c :: Nat) d |
52 | PrimBShiftLS :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> Word -> [32mb[0;32m[0m | 1107 | . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32mWord[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32md[0;32m -> [32mb[0;32m[0m |
53 | PrimBShiftRS :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> Word -> [32mb[0;32m[0m | 1108 | PrimBShiftR |
1109 | :: [32mforall a b (c :: Nat) d | ||
1110 | . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32mWord[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32md[0;32m -> [32mb[0;32m[0m | ||
1111 | PrimBShiftLS | ||
1112 | :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> Word -> [32mb[0;32m[0m | ||
1113 | PrimBShiftRS | ||
1114 | :: [32mforall a b (c :: Nat) . ([32mIntegral [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> Word -> [32mb[0;32m[0m | ||
54 | PrimAnd :: [32mBool -> Bool -> Bool[0m | 1115 | PrimAnd :: [32mBool -> Bool -> Bool[0m |
55 | PrimOr :: [32mBool -> Bool -> Bool[0m | 1116 | PrimOr :: [32mBool -> Bool -> Bool[0m |
56 | PrimXor :: [32mBool -> Bool -> Bool[0m | 1117 | PrimXor :: [32mBool -> Bool -> Bool[0m |
@@ -89,20 +1150,30 @@ PrimMin :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;3 | |||
89 | PrimMax :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m -> [32mb[0;32m[0m | 1150 | PrimMax :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m -> [32mb[0;32m[0m |
90 | PrimMinS :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m | 1151 | PrimMinS :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m |
91 | PrimMaxS :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m | 1152 | PrimMaxS :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m |
92 | PrimIsNan :: [32mforall a (b :: Nat) c . ([32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m[0;32m, [32m[32m[32mc[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32mc[0;32m[0m | 1153 | PrimIsNan |
93 | PrimIsInf :: [32mforall a (b :: Nat) c . ([32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m[0;32m, [32m[32m[32mc[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32mc[0;32m[0m | 1154 | :: [32mforall a (b :: Nat) c |
1155 | . ([32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m[0;32m, [32m[32m[32mc[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32mc[0;32m[0m | ||
1156 | PrimIsInf | ||
1157 | :: [32mforall a (b :: Nat) c | ||
1158 | . ([32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m[0;32m, [32m[32m[32mc[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32mc[0;32m[0m | ||
94 | PrimAbs :: [32mforall a b (c :: Nat) . ([32mSigned [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m[0m | 1159 | PrimAbs :: [32mforall a b (c :: Nat) . ([32mSigned [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m[0m |
95 | PrimSign :: [32mforall a b (c :: Nat) . ([32mSigned [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m[0m | 1160 | PrimSign :: [32mforall a b (c :: Nat) . ([32mSigned [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m[0m |
96 | PrimModF :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> ([32ma[0;32m, [32ma[0;32m)[0m | 1161 | PrimModF :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> ([32ma[0;32m, [32ma[0;32m)[0m |
97 | PrimClamp :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m -> [32mb[0;32m -> [32mb[0;32m[0m | 1162 | PrimClamp |
98 | PrimClampS :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m | 1163 | :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32mb[0;32m -> [32mb[0;32m -> [32mb[0;32m[0m |
1164 | PrimClampS | ||
1165 | :: [32mforall a b (c :: Nat) . ([32mNum [32m[32ma[0;32m[0;32m[0;32m, [32m[32m[32mb[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mb[0;32m -> [32ma[0;32m -> [32ma[0;32m -> [32mb[0;32m[0m | ||
99 | PrimMix :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m | 1166 | PrimMix :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m |
100 | PrimMixS :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> Float -> [32ma[0;32m[0m | 1167 | PrimMixS |
101 | PrimMixB :: [32mforall a (b :: Nat) c . ([32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m[0;32m, [32m[32m[32mc[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32mc[0;32m -> [32ma[0;32m[0m | 1168 | :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> Float -> [32ma[0;32m[0m |
1169 | PrimMixB | ||
1170 | :: [32mforall a (b :: Nat) c | ||
1171 | . ([32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m[0;32m, [32m[32m[32mc[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32mc[0;32m -> [32ma[0;32m[0m | ||
102 | PrimStep :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32mVecS Float [32mb[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m | 1172 | PrimStep :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32mVecS Float [32mb[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m |
103 | PrimStepS :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => Float -> [32ma[0;32m -> [32ma[0;32m[0m | 1173 | PrimStepS :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => Float -> [32ma[0;32m -> [32ma[0;32m[0m |
104 | PrimSmoothStep :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32mVecS Float [32mb[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m | 1174 | PrimSmoothStep :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32mVecS Float [32mb[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m |
105 | PrimSmoothStepS :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => Float -> Float -> [32ma[0;32m -> [32ma[0;32m[0m | 1175 | PrimSmoothStepS |
1176 | :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => Float -> Float -> [32ma[0;32m -> [32ma[0;32m[0m | ||
106 | PrimFloatBitsToInt :: [32mforall (a :: Nat) . [32mVecScalar [32m[32ma[0;32m[0;32m [32mFloat[0;32m[0;32m -> [32mVecScalar [32m[32ma[0;32m[0;32m [32mInt[0;32m[0;32m[0m | 1177 | PrimFloatBitsToInt :: [32mforall (a :: Nat) . [32mVecScalar [32m[32ma[0;32m[0;32m [32mFloat[0;32m[0;32m -> [32mVecScalar [32m[32ma[0;32m[0;32m [32mInt[0;32m[0;32m[0m |
107 | PrimFloatBitsToUInt :: [32mforall (a :: Nat) . [32mVecScalar [32m[32ma[0;32m[0;32m [32mFloat[0;32m[0;32m -> [32mVecScalar [32m[32ma[0;32m[0;32m [32mWord[0;32m[0;32m[0m | 1178 | PrimFloatBitsToUInt :: [32mforall (a :: Nat) . [32mVecScalar [32m[32ma[0;32m[0;32m [32mFloat[0;32m[0;32m -> [32mVecScalar [32m[32ma[0;32m[0;32m [32mWord[0;32m[0;32m[0m |
108 | PrimIntBitsToFloat :: [32mforall (a :: Nat) . [32mVecScalar [32m[32ma[0;32m[0;32m [32mInt[0;32m[0;32m -> [32mVecScalar [32m[32ma[0;32m[0;32m [32mFloat[0;32m[0;32m[0m | 1179 | PrimIntBitsToFloat :: [32mforall (a :: Nat) . [32mVecScalar [32m[32ma[0;32m[0;32m [32mInt[0;32m[0;32m -> [32mVecScalar [32m[32ma[0;32m[0;32m [32mFloat[0;32m[0;32m[0m |
@@ -112,22 +1183,40 @@ PrimDistance :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [3 | |||
112 | PrimDot :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> Float[0m | 1183 | PrimDot :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> Float[0m |
113 | PrimCross :: [32mforall a . [32m([32m[32ma[0;32m[0;32m ~ [32mVecS Float 3[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m | 1184 | PrimCross :: [32mforall a . [32m([32m[32ma[0;32m[0;32m ~ [32mVecS Float 3[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m |
114 | PrimNormalize :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m[0m | 1185 | PrimNormalize :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m[0m |
115 | PrimFaceForward :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m | 1186 | PrimFaceForward |
1187 | :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m | ||
116 | PrimRefract :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m | 1188 | PrimRefract :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m |
117 | PrimReflect :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m | 1189 | PrimReflect :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m[0m |
118 | PrimTranspose :: [32mforall (a :: Nat) (b :: Nat) c . Mat [32ma[0;32m [32mb[0;32m [32mc[0;32m -> Mat [32mb[0;32m [32ma[0;32m [32mc[0;32m[0m | 1190 | PrimTranspose :: [32mforall (a :: Nat) (b :: Nat) c . Mat [32ma[0;32m [32mb[0;32m [32mc[0;32m -> Mat [32mb[0;32m [32ma[0;32m [32mc[0;32m[0m |
119 | PrimDeterminant :: [32mforall (a :: Nat) b . Mat [32ma[0;32m [32ma[0;32m [32mb[0;32m -> Float[0m | 1191 | PrimDeterminant :: [32mforall (a :: Nat) b . Mat [32ma[0;32m [32ma[0;32m [32mb[0;32m -> Float[0m |
120 | PrimInverse :: [32mforall (a :: Nat) b . Mat [32ma[0;32m [32ma[0;32m [32mb[0;32m -> Mat [32ma[0;32m [32ma[0;32m [32mb[0;32m[0m | 1192 | PrimInverse :: [32mforall (a :: Nat) b . Mat [32ma[0;32m [32ma[0;32m [32mb[0;32m -> Mat [32ma[0;32m [32ma[0;32m [32mb[0;32m[0m |
121 | PrimOuterProduct :: [32mforall (a :: Nat) b (c :: Nat) . [32mVec [32m[32ma[0;32m[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32mVec [32m[32mc[0;32m[0;32m [32m[32mb[0;32m[0;32m[0;32m -> Mat [32mc[0;32m [32ma[0;32m [32mb[0;32m[0m | 1193 | PrimOuterProduct |
122 | PrimMulMatVec :: [32mforall (a :: Nat) (b :: Nat) c . Mat [32ma[0;32m [32mb[0;32m [32mc[0;32m -> [32mVec [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32mVec [32m[32ma[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | 1194 | :: [32mforall (a :: Nat) b (c :: Nat) . [32mVec [32m[32ma[0;32m[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32mVec [32m[32mc[0;32m[0;32m [32m[32mb[0;32m[0;32m[0;32m -> Mat [32mc[0;32m [32ma[0;32m [32mb[0;32m[0m |
123 | PrimMulVecMat :: [32mforall (a :: Nat) b (c :: Nat) . [32mVec [32m[32ma[0;32m[0;32m [32m[32mb[0;32m[0;32m[0;32m -> Mat [32ma[0;32m [32mc[0;32m [32mb[0;32m -> [32mVec [32m[32mc[0;32m[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1195 | PrimMulMatVec |
124 | PrimMulMatMat :: [32mforall (a :: Nat) (b :: Nat) c (d :: Nat) . Mat [32ma[0;32m [32mb[0;32m [32mc[0;32m -> Mat [32mb[0;32m [32md[0;32m [32mc[0;32m -> Mat [32ma[0;32m [32md[0;32m [32mc[0;32m[0m | 1196 | :: [32mforall (a :: Nat) (b :: Nat) c . Mat [32ma[0;32m [32mb[0;32m [32mc[0;32m -> [32mVec [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32mVec [32m[32ma[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m |
125 | PrimLessThan :: [32mforall a (b :: Nat) c d . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32md[0;32m[0m | 1197 | PrimMulVecMat |
126 | PrimLessThanEqual :: [32mforall a (b :: Nat) c d . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32md[0;32m[0m | 1198 | :: [32mforall (a :: Nat) b (c :: Nat) . [32mVec [32m[32ma[0;32m[0;32m [32m[32mb[0;32m[0;32m[0;32m -> Mat [32ma[0;32m [32mc[0;32m [32mb[0;32m -> [32mVec [32m[32mc[0;32m[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m |
127 | PrimGreaterThan :: [32mforall a (b :: Nat) c d . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32md[0;32m[0m | 1199 | PrimMulMatMat |
128 | PrimGreaterThanEqual :: [32mforall a (b :: Nat) c d . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32md[0;32m[0m | 1200 | :: [32mforall (a :: Nat) (b :: Nat) c (d :: Nat) |
129 | PrimEqualV :: [32mforall a (b :: Nat) c d . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32md[0;32m[0m | 1201 | . Mat [32ma[0;32m [32mb[0;32m [32mc[0;32m -> Mat [32mb[0;32m [32md[0;32m [32mc[0;32m -> Mat [32ma[0;32m [32md[0;32m [32mc[0;32m[0m |
130 | PrimNotEqualV :: [32mforall a (b :: Nat) c d . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32md[0;32m[0m | 1202 | PrimLessThan |
1203 | :: [32mforall a (b :: Nat) c d | ||
1204 | . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32md[0;32m[0m | ||
1205 | PrimLessThanEqual | ||
1206 | :: [32mforall a (b :: Nat) c d | ||
1207 | . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32md[0;32m[0m | ||
1208 | PrimGreaterThan | ||
1209 | :: [32mforall a (b :: Nat) c d | ||
1210 | . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32md[0;32m[0m | ||
1211 | PrimGreaterThanEqual | ||
1212 | :: [32mforall a (b :: Nat) c d | ||
1213 | . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32md[0;32m[0m | ||
1214 | PrimEqualV | ||
1215 | :: [32mforall a (b :: Nat) c d | ||
1216 | . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32md[0;32m[0m | ||
1217 | PrimNotEqualV | ||
1218 | :: [32mforall a (b :: Nat) c d | ||
1219 | . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m[0;32m[0;32m) => [32ma[0;32m -> [32ma[0;32m -> [32md[0;32m[0m | ||
131 | PrimEqual :: [32mforall a b . [32m([32m[32mb[0;32m[0;32m ~ [32m[32mMatVecScalarElem [32m[32ma[0;32m[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> Bool[0m | 1220 | PrimEqual :: [32mforall a b . [32m([32m[32mb[0;32m[0;32m ~ [32m[32mMatVecScalarElem [32m[32ma[0;32m[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> Bool[0m |
132 | PrimNotEqual :: [32mforall a b . [32m([32m[32mb[0;32m[0;32m ~ [32m[32mMatVecScalarElem [32m[32ma[0;32m[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> Bool[0m | 1221 | PrimNotEqual :: [32mforall a b . [32m([32m[32mb[0;32m[0;32m ~ [32m[32mMatVecScalarElem [32m[32ma[0;32m[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m -> Bool[0m |
133 | PrimDFdx :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m[0m | 1222 | PrimDFdx :: [32mforall a (b :: Nat) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32mFloat[0;32m[0;32m[0;32m)[0;32m => [32ma[0;32m -> [32ma[0;32m[0m |
@@ -147,72 +1236,144 @@ len :: [32mforall a . List [32ma[0;32m -> Int[0m | |||
147 | 'Maybe :: [32mType -> Type[0m | 1236 | 'Maybe :: [32mType -> Type[0m |
148 | Nothing :: [32mforall a . Maybe [32ma[0;32m[0m | 1237 | Nothing :: [32mforall a . Maybe [32ma[0;32m[0m |
149 | Just :: [32mforall a . [32ma[0;32m -> Maybe [32ma[0;32m[0m | 1238 | Just :: [32mforall a . [32ma[0;32m -> Maybe [32ma[0;32m[0m |
150 | 'MaybeCase :: [32mforall a . forall (b :: Maybe [32ma[0;32m -> Type) -> [32m[32mb[0;32m [32m'Nothing[0;32m[0;32m -> (forall (c :: [32ma[0;32m) -> [32m[32mb[0;32m [32m('Just [32mc[0;32m)[0;32m[0;32m) -> forall (d :: Maybe [32ma[0;32m) -> [32m[32mb[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | 1239 | 'MaybeCase |
151 | match'Maybe :: [32mforall (a :: Type -> Type) -> (forall b -> [32m[32ma[0;32m [32m(Maybe [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | 1240 | :: [32mforall a |
1241 | . forall (b :: Maybe [32ma[0;32m -> Type) | ||
1242 | -> [32m[32mb[0;32m [32m'Nothing[0;32m[0;32m | ||
1243 | -> (forall (c :: [32ma[0;32m) -> [32m[32mb[0;32m [32m('Just [32mc[0;32m)[0;32m[0;32m) -> forall (d :: Maybe [32ma[0;32m) -> [32m[32mb[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | ||
1244 | match'Maybe | ||
1245 | :: [32mforall (a :: Type -> Type) | ||
1246 | -> (forall b -> [32m[32ma[0;32m [32m(Maybe [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | ||
152 | 'Vector :: [32mNat -> Type -> Type[0m | 1247 | 'Vector :: [32mNat -> Type -> Type[0m |
153 | 'VectorCase :: [32mforall (a :: Nat) b . forall (c :: Vector [32ma[0;32m [32mb[0;32m -> Type) (d :: Vector [32ma[0;32m [32mb[0;32m) -> [32m[32mc[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | 1248 | 'VectorCase |
154 | match'Vector :: [32mforall (a :: Type -> Type) -> (forall (b :: Nat) c -> [32m[32ma[0;32m [32m(Vector [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) -> forall d -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | 1249 | :: [32mforall (a :: Nat) b |
1250 | . forall (c :: Vector [32ma[0;32m [32mb[0;32m -> Type) (d :: Vector [32ma[0;32m [32mb[0;32m) -> [32m[32mc[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | ||
1251 | match'Vector | ||
1252 | :: [32mforall (a :: Type -> Type) | ||
1253 | -> (forall (b :: Nat) c -> [32m[32ma[0;32m [32m(Vector [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) -> forall d -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | ||
155 | 'PrimitiveType :: [32mType[0m | 1254 | 'PrimitiveType :: [32mType[0m |
156 | Triangle :: [32mPrimitiveType[0m | 1255 | Triangle :: [32mPrimitiveType[0m |
157 | Line :: [32mPrimitiveType[0m | 1256 | Line :: [32mPrimitiveType[0m |
158 | Point :: [32mPrimitiveType[0m | 1257 | Point :: [32mPrimitiveType[0m |
159 | TriangleAdjacency :: [32mPrimitiveType[0m | 1258 | TriangleAdjacency :: [32mPrimitiveType[0m |
160 | LineAdjacency :: [32mPrimitiveType[0m | 1259 | LineAdjacency :: [32mPrimitiveType[0m |
161 | 'PrimitiveTypeCase :: [32mforall (a :: PrimitiveType -> Type) -> [32m[32ma[0;32m [32m'Triangle[0;32m[0;32m -> [32m[32ma[0;32m [32m'Line[0;32m[0;32m -> [32m[32ma[0;32m [32m'Point[0;32m[0;32m -> [32m[32ma[0;32m [32m'TriangleAdjacency[0;32m[0;32m -> [32m[32ma[0;32m [32m'LineAdjacency[0;32m[0;32m -> forall (b :: PrimitiveType) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1260 | 'PrimitiveTypeCase |
162 | match'PrimitiveType :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mPrimitiveType[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1261 | :: [32mforall (a :: PrimitiveType -> Type) |
1262 | -> [32m[32ma[0;32m [32m'Triangle[0;32m[0;32m | ||
1263 | -> [32m[32ma[0;32m [32m'Line[0;32m[0;32m | ||
1264 | -> [32m[32ma[0;32m [32m'Point[0;32m[0;32m | ||
1265 | -> [32m[32ma[0;32m [32m'TriangleAdjacency[0;32m[0;32m | ||
1266 | -> [32m[32ma[0;32m [32m'LineAdjacency[0;32m[0;32m -> forall (b :: PrimitiveType) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
1267 | match'PrimitiveType | ||
1268 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mPrimitiveType[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
163 | 'Primitive :: [32mType -> PrimitiveType -> Type[0m | 1269 | 'Primitive :: [32mType -> PrimitiveType -> Type[0m |
164 | PrimPoint :: [32mforall a . [32ma[0;32m -> Primitive [32ma[0;32m 'Point[0m | 1270 | PrimPoint :: [32mforall a . [32ma[0;32m -> Primitive [32ma[0;32m 'Point[0m |
165 | PrimLine :: [32mforall a . [32ma[0;32m -> [32ma[0;32m -> Primitive [32ma[0;32m 'Line[0m | 1271 | PrimLine :: [32mforall a . [32ma[0;32m -> [32ma[0;32m -> Primitive [32ma[0;32m 'Line[0m |
166 | PrimTriangle :: [32mforall a . [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> Primitive [32ma[0;32m 'Triangle[0m | 1272 | PrimTriangle :: [32mforall a . [32ma[0;32m -> [32ma[0;32m -> [32ma[0;32m -> Primitive [32ma[0;32m 'Triangle[0m |
167 | 'PrimitiveCase :: [32mforall a . forall (b :: forall (c :: PrimitiveType) -> Primitive [32ma[0;32m [32mc[0;32m -> Type) -> (forall (d :: [32ma[0;32m) -> [32m[32m[32mb[0;32m [32m'Point[0;32m[0;32m [32m('PrimPoint [32md[0;32m)[0;32m[0;32m) -> (forall (e :: [32ma[0;32m) (f :: [32ma[0;32m) -> [32m[32m[32mb[0;32m [32m'Line[0;32m[0;32m [32m('PrimLine [32me[0;32m [32mf[0;32m)[0;32m[0;32m) -> (forall (g :: [32ma[0;32m) (h :: [32ma[0;32m) (i :: [32ma[0;32m) -> [32m[32m[32mb[0;32m [32m'Triangle[0;32m[0;32m [32m('PrimTriangle [32mg[0;32m [32mh[0;32m [32mi[0;32m)[0;32m[0;32m) -> forall (j :: PrimitiveType) . forall (k :: Primitive [32ma[0;32m [32mj[0;32m) -> [32m[32m[32mb[0;32m [32m[32mj[0;32m[0;32m[0;32m [32m[32mk[0;32m[0;32m[0;32m[0m | 1273 | 'PrimitiveCase |
168 | match'Primitive :: [32mforall (a :: Type -> Type) -> (forall b (c :: PrimitiveType) -> [32m[32ma[0;32m [32m(Primitive [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) -> forall d -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | 1274 | :: [32mforall a |
169 | mapPrimitive :: [32mforall a b (c :: PrimitiveType) . ([32ma[0;32m -> [32mb[0;32m) -> Primitive [32ma[0;32m [32mc[0;32m -> Primitive [32mb[0;32m [32mc[0;32m[0m | 1275 | . forall (b :: forall (c :: PrimitiveType) -> Primitive [32ma[0;32m [32mc[0;32m -> Type) |
1276 | -> (forall (d :: [32ma[0;32m) -> [32m[32m[32mb[0;32m [32m'Point[0;32m[0;32m [32m('PrimPoint [32md[0;32m)[0;32m[0;32m) | ||
1277 | -> (forall (e :: [32ma[0;32m) (f :: [32ma[0;32m) -> [32m[32m[32mb[0;32m [32m'Line[0;32m[0;32m [32m('PrimLine [32me[0;32m [32mf[0;32m)[0;32m[0;32m) | ||
1278 | -> (forall (g :: [32ma[0;32m) (h :: [32ma[0;32m) (i :: [32ma[0;32m) -> [32m[32m[32mb[0;32m [32m'Triangle[0;32m[0;32m [32m('PrimTriangle [32mg[0;32m [32mh[0;32m [32mi[0;32m)[0;32m[0;32m) | ||
1279 | -> forall (j :: PrimitiveType) . forall (k :: Primitive [32ma[0;32m [32mj[0;32m) -> [32m[32m[32mb[0;32m [32m[32mj[0;32m[0;32m[0;32m [32m[32mk[0;32m[0;32m[0;32m[0m | ||
1280 | match'Primitive | ||
1281 | :: [32mforall (a :: Type -> Type) | ||
1282 | -> (forall b (c :: PrimitiveType) -> [32m[32ma[0;32m [32m(Primitive [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) | ||
1283 | -> forall d -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | ||
1284 | mapPrimitive | ||
1285 | :: [32mforall a b (c :: PrimitiveType) . ([32ma[0;32m -> [32mb[0;32m) -> Primitive [32ma[0;32m [32mc[0;32m -> Primitive [32mb[0;32m [32mc[0;32m[0m | ||
170 | 'PrimitiveStream :: [32mPrimitiveType -> Type -> Type[0m | 1286 | 'PrimitiveStream :: [32mPrimitiveType -> Type -> Type[0m |
171 | mapPrimitives :: [32mforall a b (c :: PrimitiveType) . ([32ma[0;32m -> [32mb[0;32m) -> List (Primitive [32ma[0;32m [32mc[0;32m) -> List (Primitive [32mb[0;32m [32mc[0;32m)[0m | 1287 | mapPrimitives |
1288 | :: [32mforall a b (c :: PrimitiveType) | ||
1289 | . ([32ma[0;32m -> [32mb[0;32m) -> List (Primitive [32ma[0;32m [32mc[0;32m) -> List (Primitive [32mb[0;32m [32mc[0;32m)[0m | ||
172 | 'ListElem :: [32mType -> Type[0m | 1290 | 'ListElem :: [32mType -> Type[0m |
173 | fetchArrays :: [32mforall (a :: PrimitiveType) (b :: List Type) (c :: List Type) . [32m([32m[32mb[0;32m[0;32m ~ [32m[32mmap [32mType[0;32m [32mType[0;32m [32m[32mListElem[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m)[0;32m => HList [32mc[0;32m -> [32mPrimitiveStream [32m[32ma[0;32m[0;32m [32m(HList [32mb[0;32m)[0;32m[0;32m[0m | 1291 | fetchArrays |
174 | fetch :: [32mforall (a :: PrimitiveType) (b :: List Type) . String -> HList [32mb[0;32m -> [32mPrimitiveStream [32m[32ma[0;32m[0;32m [32m(HList [32mb[0;32m)[0;32m[0;32m[0m | 1292 | :: [32mforall (a :: PrimitiveType) (b :: List Type) (c :: List Type) |
1293 | . [32m([32m[32mb[0;32m[0;32m ~ [32m[32mmap [32mType[0;32m [32mType[0;32m [32m[32mListElem[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m)[0;32m => HList [32mc[0;32m -> [32mPrimitiveStream [32m[32ma[0;32m[0;32m [32m(HList [32mb[0;32m)[0;32m[0;32m[0m | ||
1294 | fetch | ||
1295 | :: [32mforall (a :: PrimitiveType) (b :: List Type) | ||
1296 | . String -> HList [32mb[0;32m -> [32mPrimitiveStream [32m[32ma[0;32m[0;32m [32m(HList [32mb[0;32m)[0;32m[0;32m[0m | ||
175 | Attribute :: [32mforall a . String -> [32ma[0;32m[0m | 1297 | Attribute :: [32mforall a . String -> [32ma[0;32m[0m |
176 | fetchStream :: [32mforall (a :: PrimitiveType) (b :: List Type) . String -> forall (c :: List String) -> [32m([32m[32mlen [32mString[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m ~ [32m[32mlen [32mType[0;32m [32m[32mb[0;32m[0;32m[0;32m[0;32m)[0;32m => [32mPrimitiveStream [32m[32ma[0;32m[0;32m [32m(HList [32mb[0;32m)[0;32m[0;32m[0m | 1298 | fetchStream |
1299 | :: [32mforall (a :: PrimitiveType) (b :: List Type) | ||
1300 | . String | ||
1301 | -> forall (c :: List String) | ||
1302 | -> [32m([32m[32mlen [32mString[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m ~ [32m[32mlen [32mType[0;32m [32m[32mb[0;32m[0;32m[0;32m[0;32m)[0;32m => [32mPrimitiveStream [32m[32ma[0;32m[0;32m [32m(HList [32mb[0;32m)[0;32m[0;32m[0m | ||
177 | 'SimpleFragment :: [32mType -> Type[0m | 1303 | 'SimpleFragment :: [32mType -> Type[0m |
178 | SimpleFragment :: [32mforall a . [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> [32ma[0;32m -> SimpleFragment [32ma[0;32m[0m | 1304 | SimpleFragment :: [32mforall a . [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m -> [32ma[0;32m -> SimpleFragment [32ma[0;32m[0m |
179 | 'SimpleFragmentCase :: [32mforall a . forall (b :: SimpleFragment [32ma[0;32m -> Type) -> (forall (c :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (d :: [32ma[0;32m) -> [32m[32mb[0;32m [32m('SimpleFragment [32mc[0;32m [32md[0;32m)[0;32m[0;32m) -> forall (e :: SimpleFragment [32ma[0;32m) -> [32m[32mb[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | 1305 | 'SimpleFragmentCase |
180 | match'SimpleFragment :: [32mforall (a :: Type -> Type) -> (forall b -> [32m[32ma[0;32m [32m(SimpleFragment [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | 1306 | :: [32mforall a |
1307 | . forall (b :: SimpleFragment [32ma[0;32m -> Type) | ||
1308 | -> (forall (c :: [32mVec [32m3[0;32m [32mFloat[0;32m[0;32m) (d :: [32ma[0;32m) -> [32m[32mb[0;32m [32m('SimpleFragment [32mc[0;32m [32md[0;32m)[0;32m[0;32m) | ||
1309 | -> forall (e :: SimpleFragment [32ma[0;32m) -> [32m[32mb[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | ||
1310 | match'SimpleFragment | ||
1311 | :: [32mforall (a :: Type -> Type) | ||
1312 | -> (forall b -> [32m[32ma[0;32m [32m(SimpleFragment [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | ||
181 | 'Fragment :: [32mNat -> Type -> Type[0m | 1313 | 'Fragment :: [32mNat -> Type -> Type[0m |
182 | sFragmentCoords :: [32mforall a . SimpleFragment [32ma[0;32m -> VecS Float 3[0m | 1314 | sFragmentCoords :: [32mforall a . SimpleFragment [32ma[0;32m -> VecS Float 3[0m |
183 | sFragmentValue :: [32mforall a . SimpleFragment [32ma[0;32m -> [32ma[0;32m[0m | 1315 | sFragmentValue :: [32mforall a . SimpleFragment [32ma[0;32m -> [32ma[0;32m[0m |
184 | 'FragmentStream :: [32mNat -> Type -> Type[0m | 1316 | 'FragmentStream :: [32mNat -> Type -> Type[0m |
185 | customizeDepth :: [32mforall a (b :: Nat) . ([32ma[0;32m -> Float) -> [32mFragment [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m -> [32mFragment [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0m | 1317 | customizeDepth |
186 | customizeDepths :: [32mforall a (b :: Nat) . ([32ma[0;32m -> Float) -> List (Vector [32mb[0;32m (Maybe (SimpleFragment [32ma[0;32m))) -> List (Vector [32mb[0;32m (Maybe (SimpleFragment [32ma[0;32m)))[0m | 1318 | :: [32mforall a (b :: Nat) . ([32ma[0;32m -> Float) -> [32mFragment [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m -> [32mFragment [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0m |
187 | filterFragment :: [32mforall a (b :: Nat) . ([32ma[0;32m -> Bool) -> [32mFragment [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m -> [32mFragment [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0m | 1319 | customizeDepths |
188 | filterFragments :: [32mforall a (b :: Nat) . ([32ma[0;32m -> Bool) -> List (Vector [32mb[0;32m (Maybe (SimpleFragment [32ma[0;32m))) -> List (Vector [32mb[0;32m (Maybe (SimpleFragment [32ma[0;32m)))[0m | 1320 | :: [32mforall a (b :: Nat) |
1321 | . ([32ma[0;32m -> Float) | ||
1322 | -> List (Vector [32mb[0;32m (Maybe (SimpleFragment [32ma[0;32m))) | ||
1323 | -> List (Vector [32mb[0;32m (Maybe (SimpleFragment [32ma[0;32m)))[0m | ||
1324 | filterFragment | ||
1325 | :: [32mforall a (b :: Nat) . ([32ma[0;32m -> Bool) -> [32mFragment [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m -> [32mFragment [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m[0m | ||
1326 | filterFragments | ||
1327 | :: [32mforall a (b :: Nat) | ||
1328 | . ([32ma[0;32m -> Bool) | ||
1329 | -> List (Vector [32mb[0;32m (Maybe (SimpleFragment [32ma[0;32m))) | ||
1330 | -> List (Vector [32mb[0;32m (Maybe (SimpleFragment [32ma[0;32m)))[0m | ||
189 | mapFragment :: [32mforall a b (c :: Nat) . ([32ma[0;32m -> [32mb[0;32m) -> [32mFragment [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m -> [32mFragment [32m[32mc[0;32m[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1331 | mapFragment :: [32mforall a b (c :: Nat) . ([32ma[0;32m -> [32mb[0;32m) -> [32mFragment [32m[32mc[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m -> [32mFragment [32m[32mc[0;32m[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m |
190 | mapFragments :: [32mforall a b (c :: Nat) . ([32ma[0;32m -> [32mb[0;32m) -> List (Vector [32mc[0;32m (Maybe (SimpleFragment [32ma[0;32m))) -> List (Vector [32mc[0;32m (Maybe (SimpleFragment [32mb[0;32m)))[0m | 1332 | mapFragments |
1333 | :: [32mforall a b (c :: Nat) | ||
1334 | . ([32ma[0;32m -> [32mb[0;32m) | ||
1335 | -> List (Vector [32mc[0;32m (Maybe (SimpleFragment [32ma[0;32m))) | ||
1336 | -> List (Vector [32mc[0;32m (Maybe (SimpleFragment [32mb[0;32m)))[0m | ||
191 | 'ImageKind :: [32mType[0m | 1337 | 'ImageKind :: [32mType[0m |
192 | Color :: [32mType -> ImageKind[0m | 1338 | Color :: [32mType -> ImageKind[0m |
193 | Depth :: [32mImageKind[0m | 1339 | Depth :: [32mImageKind[0m |
194 | Stencil :: [32mImageKind[0m | 1340 | Stencil :: [32mImageKind[0m |
195 | 'ImageKindCase :: [32mforall (a :: ImageKind -> Type) -> (forall b -> [32m[32ma[0;32m [32m('Color [32mb[0;32m)[0;32m[0;32m) -> [32m[32ma[0;32m [32m'Depth[0;32m[0;32m -> [32m[32ma[0;32m [32m'Stencil[0;32m[0;32m -> forall (c :: ImageKind) -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | 1341 | 'ImageKindCase |
196 | match'ImageKind :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mImageKind[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1342 | :: [32mforall (a :: ImageKind -> Type) |
1343 | -> (forall b -> [32m[32ma[0;32m [32m('Color [32mb[0;32m)[0;32m[0;32m) | ||
1344 | -> [32m[32ma[0;32m [32m'Depth[0;32m[0;32m -> [32m[32ma[0;32m [32m'Stencil[0;32m[0;32m -> forall (c :: ImageKind) -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | ||
1345 | match'ImageKind | ||
1346 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mImageKind[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
197 | imageType :: [32mImageKind -> Type[0m | 1347 | imageType :: [32mImageKind -> Type[0m |
198 | 'Image :: [32mNat -> ImageKind -> Type[0m | 1348 | 'Image :: [32mNat -> ImageKind -> Type[0m |
199 | 'ImageCase :: [32mforall (a :: Nat) (b :: ImageKind) . forall (c :: Image [32ma[0;32m [32mb[0;32m -> Type) (d :: Image [32ma[0;32m [32mb[0;32m) -> [32m[32mc[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | 1349 | 'ImageCase |
200 | match'Image :: [32mforall (a :: Type -> Type) -> (forall (b :: Nat) (c :: ImageKind) -> [32m[32ma[0;32m [32m(Image [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) -> forall d -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | 1350 | :: [32mforall (a :: Nat) (b :: ImageKind) |
201 | ColorImage :: [32mforall (a :: Nat) (b :: Nat) c d . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m) => [32md[0;32m -> Image [32ma[0;32m ('Color [32md[0;32m)[0m | 1351 | . forall (c :: Image [32ma[0;32m [32mb[0;32m -> Type) (d :: Image [32ma[0;32m [32mb[0;32m) -> [32m[32mc[0;32m [32m[32md[0;32m[0;32m[0;32m[0m |
1352 | match'Image | ||
1353 | :: [32mforall (a :: Type -> Type) | ||
1354 | -> (forall (b :: Nat) (c :: ImageKind) -> [32m[32ma[0;32m [32m(Image [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) | ||
1355 | -> forall d -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | ||
1356 | ColorImage | ||
1357 | :: [32mforall (a :: Nat) (b :: Nat) c d | ||
1358 | . ([32mNum [32m[32mc[0;32m[0;32m[0;32m, [32m[32m[32md[0;32m[0;32m ~ [32m[32mVecScalar [32m[32mb[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m[0;32m) => [32md[0;32m -> Image [32ma[0;32m ('Color [32md[0;32m)[0m | ||
202 | DepthImage :: [32mforall (a :: Nat) . Float -> Image [32ma[0;32m 'Depth[0m | 1359 | DepthImage :: [32mforall (a :: Nat) . Float -> Image [32ma[0;32m 'Depth[0m |
203 | StencilImage :: [32mforall (a :: Nat) . Int -> Image [32ma[0;32m 'Stencil[0m | 1360 | StencilImage :: [32mforall (a :: Nat) . Int -> Image [32ma[0;32m 'Stencil[0m |
204 | emptyDepthImage :: [32mFloat -> Image 1 'Depth[0m | 1361 | emptyDepthImage :: [32mFloat -> Image 1 'Depth[0m |
205 | emptyColorImage :: [32mforall (a :: Nat) b c . ([32mNum [32m[32mb[0;32m[0;32m[0;32m, [32m[32m[32mc[0;32m[0;32m ~ [32m[32mVecScalar [32m[32ma[0;32m[0;32m [32m[32mb[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mc[0;32m -> Image 1 ('Color [32mc[0;32m)[0m | 1362 | emptyColorImage |
1363 | :: [32mforall (a :: Nat) b c . ([32mNum [32m[32mb[0;32m[0;32m[0;32m, [32m[32m[32mc[0;32m[0;32m ~ [32m[32mVecScalar [32m[32ma[0;32m[0;32m [32m[32mb[0;32m[0;32m[0;32m[0;32m[0;32m) => [32mc[0;32m -> Image 1 ('Color [32mc[0;32m)[0m | ||
206 | 'Swizz :: [32mType[0m | 1364 | 'Swizz :: [32mType[0m |
207 | Sx :: [32mSwizz[0m | 1365 | Sx :: [32mSwizz[0m |
208 | Sy :: [32mSwizz[0m | 1366 | Sy :: [32mSwizz[0m |
209 | Sz :: [32mSwizz[0m | 1367 | Sz :: [32mSwizz[0m |
210 | Sw :: [32mSwizz[0m | 1368 | Sw :: [32mSwizz[0m |
211 | 'SwizzCase :: [32mforall (a :: Swizz -> Type) -> [32m[32ma[0;32m [32m'Sx[0;32m[0;32m -> [32m[32ma[0;32m [32m'Sy[0;32m[0;32m -> [32m[32ma[0;32m [32m'Sz[0;32m[0;32m -> [32m[32ma[0;32m [32m'Sw[0;32m[0;32m -> forall (b :: Swizz) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1369 | 'SwizzCase |
1370 | :: [32mforall (a :: Swizz -> Type) | ||
1371 | -> [32m[32ma[0;32m [32m'Sx[0;32m[0;32m -> [32m[32ma[0;32m [32m'Sy[0;32m[0;32m -> [32m[32ma[0;32m [32m'Sz[0;32m[0;32m -> [32m[32ma[0;32m [32m'Sw[0;32m[0;32m -> forall (b :: Swizz) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
212 | match'Swizz :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mSwizz[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1372 | match'Swizz :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mSwizz[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m |
213 | swizzscalar :: [32mforall a (b :: Nat) . [32mVec [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m -> Swizz -> [32ma[0;32m[0m | 1373 | swizzscalar :: [32mforall a (b :: Nat) . [32mVec [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m -> Swizz -> [32ma[0;32m[0m |
214 | definedVec :: [32mforall a (b :: Nat) . [32mVec [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m -> Bool[0m | 1374 | definedVec :: [32mforall a (b :: Nat) . [32mVec [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m -> Bool[0m |
215 | swizzvector :: [32mforall a (b :: Nat) (c :: Nat) . [32mVec [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m -> [32mVec [32m[32mc[0;32m[0;32m [32mSwizz[0;32m[0;32m -> VecS [32ma[0;32m [32mc[0;32m[0m | 1375 | swizzvector |
1376 | :: [32mforall a (b :: Nat) (c :: Nat) . [32mVec [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m[0;32m -> [32mVec [32m[32mc[0;32m[0;32m [32mSwizz[0;32m[0;32m -> VecS [32ma[0;32m [32mc[0;32m[0m | ||
216 | 'BlendingFactor :: [32mType[0m | 1377 | 'BlendingFactor :: [32mType[0m |
217 | ZeroBF :: [32mBlendingFactor[0m | 1378 | ZeroBF :: [32mBlendingFactor[0m |
218 | OneBF :: [32mBlendingFactor[0m | 1379 | OneBF :: [32mBlendingFactor[0m |
@@ -229,16 +1390,39 @@ OneMinusConstantColor :: [32mBlendingFactor[0m | |||
229 | ConstantAlpha :: [32mBlendingFactor[0m | 1390 | ConstantAlpha :: [32mBlendingFactor[0m |
230 | OneMinusConstantAlpha :: [32mBlendingFactor[0m | 1391 | OneMinusConstantAlpha :: [32mBlendingFactor[0m |
231 | SrcAlphaSaturate :: [32mBlendingFactor[0m | 1392 | SrcAlphaSaturate :: [32mBlendingFactor[0m |
232 | 'BlendingFactorCase :: [32mforall (a :: BlendingFactor -> Type) -> [32m[32ma[0;32m [32m'ZeroBF[0;32m[0;32m -> [32m[32ma[0;32m [32m'OneBF[0;32m[0;32m -> [32m[32ma[0;32m [32m'SrcColor[0;32m[0;32m -> [32m[32ma[0;32m [32m'OneMinusSrcColor[0;32m[0;32m -> [32m[32ma[0;32m [32m'DstColor[0;32m[0;32m -> [32m[32ma[0;32m [32m'OneMinusDstColor[0;32m[0;32m -> [32m[32ma[0;32m [32m'SrcAlpha[0;32m[0;32m -> [32m[32ma[0;32m [32m'OneMinusSrcAlpha[0;32m[0;32m -> [32m[32ma[0;32m [32m'DstAlpha[0;32m[0;32m -> [32m[32ma[0;32m [32m'OneMinusDstAlpha[0;32m[0;32m -> [32m[32ma[0;32m [32m'ConstantColor[0;32m[0;32m -> [32m[32ma[0;32m [32m'OneMinusConstantColor[0;32m[0;32m -> [32m[32ma[0;32m [32m'ConstantAlpha[0;32m[0;32m -> [32m[32ma[0;32m [32m'OneMinusConstantAlpha[0;32m[0;32m -> [32m[32ma[0;32m [32m'SrcAlphaSaturate[0;32m[0;32m -> forall (b :: BlendingFactor) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1393 | 'BlendingFactorCase |
233 | match'BlendingFactor :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mBlendingFactor[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1394 | :: [32mforall (a :: BlendingFactor -> Type) |
1395 | -> [32m[32ma[0;32m [32m'ZeroBF[0;32m[0;32m | ||
1396 | -> [32m[32ma[0;32m [32m'OneBF[0;32m[0;32m | ||
1397 | -> [32m[32ma[0;32m [32m'SrcColor[0;32m[0;32m | ||
1398 | -> [32m[32ma[0;32m [32m'OneMinusSrcColor[0;32m[0;32m | ||
1399 | -> [32m[32ma[0;32m [32m'DstColor[0;32m[0;32m | ||
1400 | -> [32m[32ma[0;32m [32m'OneMinusDstColor[0;32m[0;32m | ||
1401 | -> [32m[32ma[0;32m [32m'SrcAlpha[0;32m[0;32m | ||
1402 | -> [32m[32ma[0;32m [32m'OneMinusSrcAlpha[0;32m[0;32m | ||
1403 | -> [32m[32ma[0;32m [32m'DstAlpha[0;32m[0;32m | ||
1404 | -> [32m[32ma[0;32m [32m'OneMinusDstAlpha[0;32m[0;32m | ||
1405 | -> [32m[32ma[0;32m [32m'ConstantColor[0;32m[0;32m | ||
1406 | -> [32m[32ma[0;32m [32m'OneMinusConstantColor[0;32m[0;32m | ||
1407 | -> [32m[32ma[0;32m [32m'ConstantAlpha[0;32m[0;32m | ||
1408 | -> [32m[32ma[0;32m [32m'OneMinusConstantAlpha[0;32m[0;32m | ||
1409 | -> [32m[32ma[0;32m [32m'SrcAlphaSaturate[0;32m[0;32m -> forall (b :: BlendingFactor) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
1410 | match'BlendingFactor | ||
1411 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mBlendingFactor[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
234 | 'BlendEquation :: [32mType[0m | 1412 | 'BlendEquation :: [32mType[0m |
235 | FuncAdd :: [32mBlendEquation[0m | 1413 | FuncAdd :: [32mBlendEquation[0m |
236 | FuncSubtract :: [32mBlendEquation[0m | 1414 | FuncSubtract :: [32mBlendEquation[0m |
237 | FuncReverseSubtract :: [32mBlendEquation[0m | 1415 | FuncReverseSubtract :: [32mBlendEquation[0m |
238 | Min :: [32mBlendEquation[0m | 1416 | Min :: [32mBlendEquation[0m |
239 | Max :: [32mBlendEquation[0m | 1417 | Max :: [32mBlendEquation[0m |
240 | 'BlendEquationCase :: [32mforall (a :: BlendEquation -> Type) -> [32m[32ma[0;32m [32m'FuncAdd[0;32m[0;32m -> [32m[32ma[0;32m [32m'FuncSubtract[0;32m[0;32m -> [32m[32ma[0;32m [32m'FuncReverseSubtract[0;32m[0;32m -> [32m[32ma[0;32m [32m'Min[0;32m[0;32m -> [32m[32ma[0;32m [32m'Max[0;32m[0;32m -> forall (b :: BlendEquation) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1418 | 'BlendEquationCase |
241 | match'BlendEquation :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mBlendEquation[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1419 | :: [32mforall (a :: BlendEquation -> Type) |
1420 | -> [32m[32ma[0;32m [32m'FuncAdd[0;32m[0;32m | ||
1421 | -> [32m[32ma[0;32m [32m'FuncSubtract[0;32m[0;32m | ||
1422 | -> [32m[32ma[0;32m [32m'FuncReverseSubtract[0;32m[0;32m | ||
1423 | -> [32m[32ma[0;32m [32m'Min[0;32m[0;32m -> [32m[32ma[0;32m [32m'Max[0;32m[0;32m -> forall (b :: BlendEquation) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
1424 | match'BlendEquation | ||
1425 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mBlendEquation[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
242 | 'LogicOperation :: [32mType[0m | 1426 | 'LogicOperation :: [32mType[0m |
243 | Clear :: [32mLogicOperation[0m | 1427 | Clear :: [32mLogicOperation[0m |
244 | And :: [32mLogicOperation[0m | 1428 | And :: [32mLogicOperation[0m |
@@ -256,8 +1440,24 @@ CopyInverted :: [32mLogicOperation[0m | |||
256 | OrInverted :: [32mLogicOperation[0m | 1440 | OrInverted :: [32mLogicOperation[0m |
257 | Nand :: [32mLogicOperation[0m | 1441 | Nand :: [32mLogicOperation[0m |
258 | Set :: [32mLogicOperation[0m | 1442 | Set :: [32mLogicOperation[0m |
259 | 'LogicOperationCase :: [32mforall (a :: LogicOperation -> Type) -> [32m[32ma[0;32m [32m'Clear[0;32m[0;32m -> [32m[32ma[0;32m [32m'And[0;32m[0;32m -> [32m[32ma[0;32m [32m'AndReverse[0;32m[0;32m -> [32m[32ma[0;32m [32m'Copy[0;32m[0;32m -> [32m[32ma[0;32m [32m'AndInverted[0;32m[0;32m -> [32m[32ma[0;32m [32m'Noop[0;32m[0;32m -> [32m[32ma[0;32m [32m'Xor[0;32m[0;32m -> [32m[32ma[0;32m [32m'Or[0;32m[0;32m -> [32m[32ma[0;32m [32m'Nor[0;32m[0;32m -> [32m[32ma[0;32m [32m'Equiv[0;32m[0;32m -> [32m[32ma[0;32m [32m'Invert[0;32m[0;32m -> [32m[32ma[0;32m [32m'OrReverse[0;32m[0;32m -> [32m[32ma[0;32m [32m'CopyInverted[0;32m[0;32m -> [32m[32ma[0;32m [32m'OrInverted[0;32m[0;32m -> [32m[32ma[0;32m [32m'Nand[0;32m[0;32m -> [32m[32ma[0;32m [32m'Set[0;32m[0;32m -> forall (b :: LogicOperation) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1443 | 'LogicOperationCase |
260 | match'LogicOperation :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mLogicOperation[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1444 | :: [32mforall (a :: LogicOperation -> Type) |
1445 | -> [32m[32ma[0;32m [32m'Clear[0;32m[0;32m | ||
1446 | -> [32m[32ma[0;32m [32m'And[0;32m[0;32m | ||
1447 | -> [32m[32ma[0;32m [32m'AndReverse[0;32m[0;32m | ||
1448 | -> [32m[32ma[0;32m [32m'Copy[0;32m[0;32m | ||
1449 | -> [32m[32ma[0;32m [32m'AndInverted[0;32m[0;32m | ||
1450 | -> [32m[32ma[0;32m [32m'Noop[0;32m[0;32m | ||
1451 | -> [32m[32ma[0;32m [32m'Xor[0;32m[0;32m | ||
1452 | -> [32m[32ma[0;32m [32m'Or[0;32m[0;32m | ||
1453 | -> [32m[32ma[0;32m [32m'Nor[0;32m[0;32m | ||
1454 | -> [32m[32ma[0;32m [32m'Equiv[0;32m[0;32m | ||
1455 | -> [32m[32ma[0;32m [32m'Invert[0;32m[0;32m | ||
1456 | -> [32m[32ma[0;32m [32m'OrReverse[0;32m[0;32m | ||
1457 | -> [32m[32ma[0;32m [32m'CopyInverted[0;32m[0;32m | ||
1458 | -> [32m[32ma[0;32m [32m'OrInverted[0;32m[0;32m -> [32m[32ma[0;32m [32m'Nand[0;32m[0;32m -> [32m[32ma[0;32m [32m'Set[0;32m[0;32m -> forall (b :: LogicOperation) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
1459 | match'LogicOperation | ||
1460 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mLogicOperation[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
261 | 'StencilOperation :: [32mType[0m | 1461 | 'StencilOperation :: [32mType[0m |
262 | OpZero :: [32mStencilOperation[0m | 1462 | OpZero :: [32mStencilOperation[0m |
263 | OpKeep :: [32mStencilOperation[0m | 1463 | OpKeep :: [32mStencilOperation[0m |
@@ -267,8 +1467,17 @@ OpIncrWrap :: [32mStencilOperation[0m | |||
267 | OpDecr :: [32mStencilOperation[0m | 1467 | OpDecr :: [32mStencilOperation[0m |
268 | OpDecrWrap :: [32mStencilOperation[0m | 1468 | OpDecrWrap :: [32mStencilOperation[0m |
269 | OpInvert :: [32mStencilOperation[0m | 1469 | OpInvert :: [32mStencilOperation[0m |
270 | 'StencilOperationCase :: [32mforall (a :: StencilOperation -> Type) -> [32m[32ma[0;32m [32m'OpZero[0;32m[0;32m -> [32m[32ma[0;32m [32m'OpKeep[0;32m[0;32m -> [32m[32ma[0;32m [32m'OpReplace[0;32m[0;32m -> [32m[32ma[0;32m [32m'OpIncr[0;32m[0;32m -> [32m[32ma[0;32m [32m'OpIncrWrap[0;32m[0;32m -> [32m[32ma[0;32m [32m'OpDecr[0;32m[0;32m -> [32m[32ma[0;32m [32m'OpDecrWrap[0;32m[0;32m -> [32m[32ma[0;32m [32m'OpInvert[0;32m[0;32m -> forall (b :: StencilOperation) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1470 | 'StencilOperationCase |
271 | match'StencilOperation :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mStencilOperation[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1471 | :: [32mforall (a :: StencilOperation -> Type) |
1472 | -> [32m[32ma[0;32m [32m'OpZero[0;32m[0;32m | ||
1473 | -> [32m[32ma[0;32m [32m'OpKeep[0;32m[0;32m | ||
1474 | -> [32m[32ma[0;32m [32m'OpReplace[0;32m[0;32m | ||
1475 | -> [32m[32ma[0;32m [32m'OpIncr[0;32m[0;32m | ||
1476 | -> [32m[32ma[0;32m [32m'OpIncrWrap[0;32m[0;32m | ||
1477 | -> [32m[32ma[0;32m [32m'OpDecr[0;32m[0;32m | ||
1478 | -> [32m[32ma[0;32m [32m'OpDecrWrap[0;32m[0;32m -> [32m[32ma[0;32m [32m'OpInvert[0;32m[0;32m -> forall (b :: StencilOperation) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
1479 | match'StencilOperation | ||
1480 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mStencilOperation[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
272 | 'ComparisonFunction :: [32mType[0m | 1481 | 'ComparisonFunction :: [32mType[0m |
273 | Never :: [32mComparisonFunction[0m | 1482 | Never :: [32mComparisonFunction[0m |
274 | Less :: [32mComparisonFunction[0m | 1483 | Less :: [32mComparisonFunction[0m |
@@ -278,116 +1487,274 @@ Greater :: [32mComparisonFunction[0m | |||
278 | Notequal :: [32mComparisonFunction[0m | 1487 | Notequal :: [32mComparisonFunction[0m |
279 | Gequal :: [32mComparisonFunction[0m | 1488 | Gequal :: [32mComparisonFunction[0m |
280 | Always :: [32mComparisonFunction[0m | 1489 | Always :: [32mComparisonFunction[0m |
281 | 'ComparisonFunctionCase :: [32mforall (a :: ComparisonFunction -> Type) -> [32m[32ma[0;32m [32m'Never[0;32m[0;32m -> [32m[32ma[0;32m [32m'Less[0;32m[0;32m -> [32m[32ma[0;32m [32m'Equal[0;32m[0;32m -> [32m[32ma[0;32m [32m'Lequal[0;32m[0;32m -> [32m[32ma[0;32m [32m'Greater[0;32m[0;32m -> [32m[32ma[0;32m [32m'Notequal[0;32m[0;32m -> [32m[32ma[0;32m [32m'Gequal[0;32m[0;32m -> [32m[32ma[0;32m [32m'Always[0;32m[0;32m -> forall (b :: ComparisonFunction) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1490 | 'ComparisonFunctionCase |
282 | match'ComparisonFunction :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mComparisonFunction[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1491 | :: [32mforall (a :: ComparisonFunction -> Type) |
1492 | -> [32m[32ma[0;32m [32m'Never[0;32m[0;32m | ||
1493 | -> [32m[32ma[0;32m [32m'Less[0;32m[0;32m | ||
1494 | -> [32m[32ma[0;32m [32m'Equal[0;32m[0;32m | ||
1495 | -> [32m[32ma[0;32m [32m'Lequal[0;32m[0;32m | ||
1496 | -> [32m[32ma[0;32m [32m'Greater[0;32m[0;32m | ||
1497 | -> [32m[32ma[0;32m [32m'Notequal[0;32m[0;32m | ||
1498 | -> [32m[32ma[0;32m [32m'Gequal[0;32m[0;32m -> [32m[32ma[0;32m [32m'Always[0;32m[0;32m -> forall (b :: ComparisonFunction) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
1499 | match'ComparisonFunction | ||
1500 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mComparisonFunction[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
283 | 'ProvokingVertex :: [32mType[0m | 1501 | 'ProvokingVertex :: [32mType[0m |
284 | LastVertex :: [32mProvokingVertex[0m | 1502 | LastVertex :: [32mProvokingVertex[0m |
285 | FirstVertex :: [32mProvokingVertex[0m | 1503 | FirstVertex :: [32mProvokingVertex[0m |
286 | 'ProvokingVertexCase :: [32mforall (a :: ProvokingVertex -> Type) -> [32m[32ma[0;32m [32m'LastVertex[0;32m[0;32m -> [32m[32ma[0;32m [32m'FirstVertex[0;32m[0;32m -> forall (b :: ProvokingVertex) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1504 | 'ProvokingVertexCase |
287 | match'ProvokingVertex :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mProvokingVertex[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1505 | :: [32mforall (a :: ProvokingVertex -> Type) |
1506 | -> [32m[32ma[0;32m [32m'LastVertex[0;32m[0;32m -> [32m[32ma[0;32m [32m'FirstVertex[0;32m[0;32m -> forall (b :: ProvokingVertex) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
1507 | match'ProvokingVertex | ||
1508 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mProvokingVertex[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
288 | 'CullMode :: [32mType[0m | 1509 | 'CullMode :: [32mType[0m |
289 | CullFront :: [32mCullMode[0m | 1510 | CullFront :: [32mCullMode[0m |
290 | CullBack :: [32mCullMode[0m | 1511 | CullBack :: [32mCullMode[0m |
291 | CullNone :: [32mCullMode[0m | 1512 | CullNone :: [32mCullMode[0m |
292 | 'CullModeCase :: [32mforall (a :: CullMode -> Type) -> [32m[32ma[0;32m [32m'CullFront[0;32m[0;32m -> [32m[32ma[0;32m [32m'CullBack[0;32m[0;32m -> [32m[32ma[0;32m [32m'CullNone[0;32m[0;32m -> forall (b :: CullMode) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1513 | 'CullModeCase |
293 | match'CullMode :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mCullMode[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1514 | :: [32mforall (a :: CullMode -> Type) |
1515 | -> [32m[32ma[0;32m [32m'CullFront[0;32m[0;32m -> [32m[32ma[0;32m [32m'CullBack[0;32m[0;32m -> [32m[32ma[0;32m [32m'CullNone[0;32m[0;32m -> forall (b :: CullMode) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
1516 | match'CullMode | ||
1517 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mCullMode[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
294 | 'PointSize :: [32mType -> Type[0m | 1518 | 'PointSize :: [32mType -> Type[0m |
295 | PointSize :: [32mforall a . Float -> PointSize [32ma[0;32m[0m | 1519 | PointSize :: [32mforall a . Float -> PointSize [32ma[0;32m[0m |
296 | ProgramPointSize :: [32mforall a . ([32ma[0;32m -> Float) -> PointSize [32ma[0;32m[0m | 1520 | ProgramPointSize :: [32mforall a . ([32ma[0;32m -> Float) -> PointSize [32ma[0;32m[0m |
297 | 'PointSizeCase :: [32mforall a . forall (b :: PointSize [32ma[0;32m -> Type) -> (forall (c :: Float) -> [32m[32mb[0;32m [32m('PointSize [32mc[0;32m)[0;32m[0;32m) -> (forall (d :: [32ma[0;32m -> Float) -> [32m[32mb[0;32m [32m('ProgramPointSize [32md[0;32m)[0;32m[0;32m) -> forall (e :: PointSize [32ma[0;32m) -> [32m[32mb[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | 1521 | 'PointSizeCase |
298 | match'PointSize :: [32mforall (a :: Type -> Type) -> (forall b -> [32m[32ma[0;32m [32m(PointSize [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | 1522 | :: [32mforall a |
1523 | . forall (b :: PointSize [32ma[0;32m -> Type) | ||
1524 | -> (forall (c :: Float) -> [32m[32mb[0;32m [32m('PointSize [32mc[0;32m)[0;32m[0;32m) | ||
1525 | -> (forall (d :: [32ma[0;32m -> Float) -> [32m[32mb[0;32m [32m('ProgramPointSize [32md[0;32m)[0;32m[0;32m) | ||
1526 | -> forall (e :: PointSize [32ma[0;32m) -> [32m[32mb[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | ||
1527 | match'PointSize | ||
1528 | :: [32mforall (a :: Type -> Type) | ||
1529 | -> (forall b -> [32m[32ma[0;32m [32m(PointSize [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | ||
299 | 'PolygonMode :: [32mType -> Type[0m | 1530 | 'PolygonMode :: [32mType -> Type[0m |
300 | PolygonFill :: [32mforall a . PolygonMode [32ma[0;32m[0m | 1531 | PolygonFill :: [32mforall a . PolygonMode [32ma[0;32m[0m |
301 | PolygonPoint :: [32mforall a . PointSize [32ma[0;32m -> PolygonMode [32ma[0;32m[0m | 1532 | PolygonPoint :: [32mforall a . PointSize [32ma[0;32m -> PolygonMode [32ma[0;32m[0m |
302 | PolygonLine :: [32mforall a . Float -> PolygonMode [32ma[0;32m[0m | 1533 | PolygonLine :: [32mforall a . Float -> PolygonMode [32ma[0;32m[0m |
303 | 'PolygonModeCase :: [32mforall a . forall (b :: PolygonMode [32ma[0;32m -> Type) -> [32m[32mb[0;32m [32m'PolygonFill[0;32m[0;32m -> (forall (c :: PointSize [32ma[0;32m) -> [32m[32mb[0;32m [32m('PolygonPoint [32mc[0;32m)[0;32m[0;32m) -> (forall (d :: Float) -> [32m[32mb[0;32m [32m('PolygonLine [32md[0;32m)[0;32m[0;32m) -> forall (e :: PolygonMode [32ma[0;32m) -> [32m[32mb[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | 1534 | 'PolygonModeCase |
304 | match'PolygonMode :: [32mforall (a :: Type -> Type) -> (forall b -> [32m[32ma[0;32m [32m(PolygonMode [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | 1535 | :: [32mforall a |
1536 | . forall (b :: PolygonMode [32ma[0;32m -> Type) | ||
1537 | -> [32m[32mb[0;32m [32m'PolygonFill[0;32m[0;32m | ||
1538 | -> (forall (c :: PointSize [32ma[0;32m) -> [32m[32mb[0;32m [32m('PolygonPoint [32mc[0;32m)[0;32m[0;32m) | ||
1539 | -> (forall (d :: Float) -> [32m[32mb[0;32m [32m('PolygonLine [32md[0;32m)[0;32m[0;32m) | ||
1540 | -> forall (e :: PolygonMode [32ma[0;32m) -> [32m[32mb[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | ||
1541 | match'PolygonMode | ||
1542 | :: [32mforall (a :: Type -> Type) | ||
1543 | -> (forall b -> [32m[32ma[0;32m [32m(PolygonMode [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | ||
305 | 'PolygonOffset :: [32mType[0m | 1544 | 'PolygonOffset :: [32mType[0m |
306 | NoOffset :: [32mPolygonOffset[0m | 1545 | NoOffset :: [32mPolygonOffset[0m |
307 | Offset :: [32mFloat -> Float -> PolygonOffset[0m | 1546 | Offset :: [32mFloat -> Float -> PolygonOffset[0m |
308 | 'PolygonOffsetCase :: [32mforall (a :: PolygonOffset -> Type) -> [32m[32ma[0;32m [32m'NoOffset[0;32m[0;32m -> (forall (b :: Float) (c :: Float) -> [32m[32ma[0;32m [32m('Offset [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) -> forall (d :: PolygonOffset) -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | 1547 | 'PolygonOffsetCase |
309 | match'PolygonOffset :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mPolygonOffset[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1548 | :: [32mforall (a :: PolygonOffset -> Type) |
1549 | -> [32m[32ma[0;32m [32m'NoOffset[0;32m[0;32m | ||
1550 | -> (forall (b :: Float) (c :: Float) -> [32m[32ma[0;32m [32m('Offset [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) | ||
1551 | -> forall (d :: PolygonOffset) -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | ||
1552 | match'PolygonOffset | ||
1553 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mPolygonOffset[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
310 | 'PointSpriteCoordOrigin :: [32mType[0m | 1554 | 'PointSpriteCoordOrigin :: [32mType[0m |
311 | LowerLeft :: [32mPointSpriteCoordOrigin[0m | 1555 | LowerLeft :: [32mPointSpriteCoordOrigin[0m |
312 | UpperLeft :: [32mPointSpriteCoordOrigin[0m | 1556 | UpperLeft :: [32mPointSpriteCoordOrigin[0m |
313 | 'PointSpriteCoordOriginCase :: [32mforall (a :: PointSpriteCoordOrigin -> Type) -> [32m[32ma[0;32m [32m'LowerLeft[0;32m[0;32m -> [32m[32ma[0;32m [32m'UpperLeft[0;32m[0;32m -> forall (b :: PointSpriteCoordOrigin) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1557 | 'PointSpriteCoordOriginCase |
314 | match'PointSpriteCoordOrigin :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mPointSpriteCoordOrigin[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1558 | :: [32mforall (a :: PointSpriteCoordOrigin -> Type) |
1559 | -> [32m[32ma[0;32m [32m'LowerLeft[0;32m[0;32m -> [32m[32ma[0;32m [32m'UpperLeft[0;32m[0;32m -> forall (b :: PointSpriteCoordOrigin) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
1560 | match'PointSpriteCoordOrigin | ||
1561 | :: [32mforall (a :: Type -> Type) | ||
1562 | -> [32m[32ma[0;32m [32mPointSpriteCoordOrigin[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
315 | primTexture :: [32m() -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m[0m | 1563 | primTexture :: [32m() -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m[0m |
316 | Uniform :: [32mforall a . String -> [32ma[0;32m[0m | 1564 | Uniform :: [32mforall a . String -> [32ma[0;32m[0m |
317 | 'RasterContext :: [32mType -> PrimitiveType -> Type[0m | 1565 | 'RasterContext :: [32mType -> PrimitiveType -> Type[0m |
318 | TriangleCtx :: [32mforall a . CullMode -> PolygonMode [32ma[0;32m -> PolygonOffset -> ProvokingVertex -> RasterContext [32ma[0;32m 'Triangle[0m | 1566 | TriangleCtx |
319 | PointCtx :: [32mforall a . PointSize [32ma[0;32m -> Float -> PointSpriteCoordOrigin -> RasterContext [32ma[0;32m 'Point[0m | 1567 | :: [32mforall a |
1568 | . CullMode | ||
1569 | -> PolygonMode [32ma[0;32m | ||
1570 | -> PolygonOffset -> ProvokingVertex -> RasterContext [32ma[0;32m 'Triangle[0m | ||
1571 | PointCtx | ||
1572 | :: [32mforall a | ||
1573 | . PointSize [32ma[0;32m -> Float -> PointSpriteCoordOrigin -> RasterContext [32ma[0;32m 'Point[0m | ||
320 | LineCtx :: [32mforall a . Float -> ProvokingVertex -> RasterContext [32ma[0;32m 'Line[0m | 1574 | LineCtx :: [32mforall a . Float -> ProvokingVertex -> RasterContext [32ma[0;32m 'Line[0m |
321 | 'RasterContextCase :: [32mforall a . forall (b :: forall (c :: PrimitiveType) -> RasterContext [32ma[0;32m [32mc[0;32m -> Type) -> (forall (d :: CullMode) (e :: PolygonMode [32ma[0;32m) (f :: PolygonOffset) (g :: ProvokingVertex) -> [32m[32m[32mb[0;32m [32m'Triangle[0;32m[0;32m [32m('TriangleCtx [32md[0;32m [32me[0;32m [32mf[0;32m [32mg[0;32m)[0;32m[0;32m) -> (forall (h :: PointSize [32ma[0;32m) (i :: Float) (j :: PointSpriteCoordOrigin) -> [32m[32m[32mb[0;32m [32m'Point[0;32m[0;32m [32m('PointCtx [32mh[0;32m [32mi[0;32m [32mj[0;32m)[0;32m[0;32m) -> (forall (k :: Float) (l :: ProvokingVertex) -> [32m[32m[32mb[0;32m [32m'Line[0;32m[0;32m [32m('LineCtx [32mk[0;32m [32ml[0;32m)[0;32m[0;32m) -> forall (m :: PrimitiveType) . forall (n :: RasterContext [32ma[0;32m [32mm[0;32m) -> [32m[32m[32mb[0;32m [32m[32mm[0;32m[0;32m[0;32m [32m[32mn[0;32m[0;32m[0;32m[0m | 1575 | 'RasterContextCase |
322 | match'RasterContext :: [32mforall (a :: Type -> Type) -> (forall b (c :: PrimitiveType) -> [32m[32ma[0;32m [32m(RasterContext [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) -> forall d -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | 1576 | :: [32mforall a |
1577 | . forall (b :: forall (c :: PrimitiveType) -> RasterContext [32ma[0;32m [32mc[0;32m -> Type) | ||
1578 | -> (forall (d :: CullMode) | ||
1579 | (e :: PolygonMode [32ma[0;32m) (f :: PolygonOffset) (g :: ProvokingVertex) | ||
1580 | -> [32m[32m[32mb[0;32m [32m'Triangle[0;32m[0;32m [32m('TriangleCtx [32md[0;32m [32me[0;32m [32mf[0;32m [32mg[0;32m)[0;32m[0;32m) | ||
1581 | -> (forall (h :: PointSize [32ma[0;32m) (i :: Float) (j :: PointSpriteCoordOrigin) | ||
1582 | -> [32m[32m[32mb[0;32m [32m'Point[0;32m[0;32m [32m('PointCtx [32mh[0;32m [32mi[0;32m [32mj[0;32m)[0;32m[0;32m) | ||
1583 | -> (forall (k :: Float) (l :: ProvokingVertex) -> [32m[32m[32mb[0;32m [32m'Line[0;32m[0;32m [32m('LineCtx [32mk[0;32m [32ml[0;32m)[0;32m[0;32m) | ||
1584 | -> forall (m :: PrimitiveType) . forall (n :: RasterContext [32ma[0;32m [32mm[0;32m) -> [32m[32m[32mb[0;32m [32m[32mm[0;32m[0;32m[0;32m [32m[32mn[0;32m[0;32m[0;32m[0m | ||
1585 | match'RasterContext | ||
1586 | :: [32mforall (a :: Type -> Type) | ||
1587 | -> (forall b (c :: PrimitiveType) -> [32m[32ma[0;32m [32m(RasterContext [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) | ||
1588 | -> forall d -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | ||
323 | 'Blending :: [32mType -> Type[0m | 1589 | 'Blending :: [32mType -> Type[0m |
324 | NoBlending :: [32mforall a . Blending [32ma[0;32m[0m | 1590 | NoBlending :: [32mforall a . Blending [32ma[0;32m[0m |
325 | BlendLogicOp :: [32mforall a . [32mIntegral [32m[32ma[0;32m[0;32m[0;32m => LogicOperation -> Blending [32ma[0;32m[0m | 1591 | BlendLogicOp :: [32mforall a . [32mIntegral [32m[32ma[0;32m[0;32m[0;32m => LogicOperation -> Blending [32ma[0;32m[0m |
326 | Blend :: [32m(BlendEquation, BlendEquation) -> ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor)) -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> Blending Float[0m | 1592 | Blend |
327 | 'BlendingCase :: [32mforall (a :: forall b -> Blending [32mb[0;32m -> Type) -> (forall c . [32m[32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m [32m('NoBlending [32mc[0;32m)[0;32m[0;32m) -> (forall d (e :: [32mIntegral [32m[32md[0;32m[0;32m[0;32m) . forall (f :: LogicOperation) -> [32m[32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m [32m('BlendLogicOp [32md[0;32m [32me[0;32m [32mf[0;32m)[0;32m[0;32m) -> (forall (g :: (BlendEquation, BlendEquation)) (h :: ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor))) (i :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) -> [32m[32m[32ma[0;32m [32mFloat[0;32m[0;32m [32m('Blend [32mg[0;32m [32mh[0;32m [32mi[0;32m)[0;32m[0;32m) -> forall j . forall (k :: Blending [32mj[0;32m) -> [32m[32m[32ma[0;32m [32m[32mj[0;32m[0;32m[0;32m [32m[32mk[0;32m[0;32m[0;32m[0m | 1593 | :: [32m(BlendEquation, BlendEquation) |
328 | match'Blending :: [32mforall (a :: Type -> Type) -> (forall b -> [32m[32ma[0;32m [32m(Blending [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | 1594 | -> ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor)) |
1595 | -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m -> Blending Float[0m | ||
1596 | 'BlendingCase | ||
1597 | :: [32mforall (a :: forall b -> Blending [32mb[0;32m -> Type) | ||
1598 | -> (forall c . [32m[32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m [32m('NoBlending [32mc[0;32m)[0;32m[0;32m) | ||
1599 | -> (forall d (e :: [32mIntegral [32m[32md[0;32m[0;32m[0;32m) | ||
1600 | . forall (f :: LogicOperation) -> [32m[32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m [32m('BlendLogicOp [32md[0;32m [32me[0;32m [32mf[0;32m)[0;32m[0;32m) | ||
1601 | -> (forall (g :: (BlendEquation, BlendEquation)) | ||
1602 | (h :: ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor))) | ||
1603 | (i :: [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m) | ||
1604 | -> [32m[32m[32ma[0;32m [32mFloat[0;32m[0;32m [32m('Blend [32mg[0;32m [32mh[0;32m [32mi[0;32m)[0;32m[0;32m) | ||
1605 | -> forall j . forall (k :: Blending [32mj[0;32m) -> [32m[32m[32ma[0;32m [32m[32mj[0;32m[0;32m[0;32m [32m[32mk[0;32m[0;32m[0;32m[0m | ||
1606 | match'Blending | ||
1607 | :: [32mforall (a :: Type -> Type) | ||
1608 | -> (forall b -> [32m[32ma[0;32m [32m(Blending [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | ||
329 | 'StencilTests :: [32mType[0m | 1609 | 'StencilTests :: [32mType[0m |
330 | 'StencilTestsCase :: [32mforall (a :: StencilTests -> Type) (b :: StencilTests) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1610 | 'StencilTestsCase |
331 | match'StencilTests :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mStencilTests[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1611 | :: [32mforall (a :: StencilTests -> Type) (b :: StencilTests) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m |
1612 | match'StencilTests | ||
1613 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mStencilTests[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
332 | 'StencilOps :: [32mType[0m | 1614 | 'StencilOps :: [32mType[0m |
333 | 'StencilOpsCase :: [32mforall (a :: StencilOps -> Type) (b :: StencilOps) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1615 | 'StencilOpsCase :: [32mforall (a :: StencilOps -> Type) (b :: StencilOps) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m |
334 | match'StencilOps :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mStencilOps[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1616 | match'StencilOps |
1617 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mStencilOps[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
335 | 'FragmentOperation :: [32mImageKind -> Type[0m | 1618 | 'FragmentOperation :: [32mImageKind -> Type[0m |
336 | ColorOp :: [32mforall a (b :: Nat) . [32mNum [32m[32ma[0;32m[0;32m[0;32m => Blending [32ma[0;32m -> [32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m -> FragmentOperation ('Color [32m(VecScalar [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m)[0;32m)[0m | 1619 | ColorOp |
1620 | :: [32mforall a (b :: Nat) | ||
1621 | . [32mNum [32m[32ma[0;32m[0;32m[0;32m | ||
1622 | => Blending [32ma[0;32m -> [32mVecScalar [32m[32mb[0;32m[0;32m [32mBool[0;32m[0;32m -> FragmentOperation ('Color [32m(VecScalar [32m[32mb[0;32m[0;32m [32m[32ma[0;32m[0;32m)[0;32m)[0m | ||
337 | DepthOp :: [32mComparisonFunction -> Bool -> FragmentOperation 'Depth[0m | 1623 | DepthOp :: [32mComparisonFunction -> Bool -> FragmentOperation 'Depth[0m |
338 | StencilOp :: [32mStencilTests -> StencilOps -> StencilOps -> FragmentOperation 'Stencil[0m | 1624 | StencilOp |
339 | 'FragmentOperationCase :: [32mforall (a :: forall (b :: ImageKind) -> FragmentOperation [32mb[0;32m -> Type) -> (forall c (d :: Nat) (e :: [32mNum [32m[32mc[0;32m[0;32m[0;32m) . forall (f :: Blending [32mc[0;32m) (g :: [32mVecScalar [32m[32md[0;32m[0;32m [32mBool[0;32m[0;32m) -> [32m[32m[32ma[0;32m [32m('Color [32m(VecScalar [32m[32md[0;32m[0;32m [32m[32mc[0;32m[0;32m)[0;32m)[0;32m[0;32m [32m('ColorOp [32mc[0;32m [32md[0;32m [32me[0;32m [32mf[0;32m [32mg[0;32m)[0;32m[0;32m) -> (forall (h :: ComparisonFunction) (i :: Bool) -> [32m[32m[32ma[0;32m [32m'Depth[0;32m[0;32m [32m('DepthOp [32mh[0;32m [32mi[0;32m)[0;32m[0;32m) -> (forall (j :: StencilTests) (k :: StencilOps) (l :: StencilOps) -> [32m[32m[32ma[0;32m [32m'Stencil[0;32m[0;32m [32m('StencilOp [32mj[0;32m [32mk[0;32m [32ml[0;32m)[0;32m[0;32m) -> forall (m :: ImageKind) . forall (n :: FragmentOperation [32mm[0;32m) -> [32m[32m[32ma[0;32m [32m[32mm[0;32m[0;32m[0;32m [32m[32mn[0;32m[0;32m[0;32m[0m | 1625 | :: [32mStencilTests -> StencilOps -> StencilOps -> FragmentOperation 'Stencil[0m |
340 | match'FragmentOperation :: [32mforall (a :: Type -> Type) -> (forall (b :: ImageKind) -> [32m[32ma[0;32m [32m(FragmentOperation [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | 1626 | 'FragmentOperationCase |
1627 | :: [32mforall (a :: forall (b :: ImageKind) -> FragmentOperation [32mb[0;32m -> Type) | ||
1628 | -> (forall c (d :: Nat) (e :: [32mNum [32m[32mc[0;32m[0;32m[0;32m) | ||
1629 | . forall (f :: Blending [32mc[0;32m) (g :: [32mVecScalar [32m[32md[0;32m[0;32m [32mBool[0;32m[0;32m) | ||
1630 | -> [32m[32m[32ma[0;32m [32m('Color [32m(VecScalar [32m[32md[0;32m[0;32m [32m[32mc[0;32m[0;32m)[0;32m)[0;32m[0;32m [32m('ColorOp [32mc[0;32m [32md[0;32m [32me[0;32m [32mf[0;32m [32mg[0;32m)[0;32m[0;32m) | ||
1631 | -> (forall (h :: ComparisonFunction) (i :: Bool) -> [32m[32m[32ma[0;32m [32m'Depth[0;32m[0;32m [32m('DepthOp [32mh[0;32m [32mi[0;32m)[0;32m[0;32m) | ||
1632 | -> (forall (j :: StencilTests) (k :: StencilOps) (l :: StencilOps) | ||
1633 | -> [32m[32m[32ma[0;32m [32m'Stencil[0;32m[0;32m [32m('StencilOp [32mj[0;32m [32mk[0;32m [32ml[0;32m)[0;32m[0;32m) | ||
1634 | -> forall (m :: ImageKind) . forall (n :: FragmentOperation [32mm[0;32m) -> [32m[32m[32ma[0;32m [32m[32mm[0;32m[0;32m[0;32m [32m[32mn[0;32m[0;32m[0;32m[0m | ||
1635 | match'FragmentOperation | ||
1636 | :: [32mforall (a :: Type -> Type) | ||
1637 | -> (forall (b :: ImageKind) -> [32m[32ma[0;32m [32m(FragmentOperation [32mb[0;32m)[0;32m[0;32m) | ||
1638 | -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | ||
341 | 'Interpolated :: [32mType -> Type[0m | 1639 | 'Interpolated :: [32mType -> Type[0m |
342 | Smooth :: [32mforall a . [32mFloating [32m[32ma[0;32m[0;32m[0;32m => Interpolated [32ma[0;32m[0m | 1640 | Smooth :: [32mforall a . [32mFloating [32m[32ma[0;32m[0;32m[0;32m => Interpolated [32ma[0;32m[0m |
343 | NoPerspective :: [32mforall a . [32mFloating [32m[32ma[0;32m[0;32m[0;32m => Interpolated [32ma[0;32m[0m | 1641 | NoPerspective :: [32mforall a . [32mFloating [32m[32ma[0;32m[0;32m[0;32m => Interpolated [32ma[0;32m[0m |
344 | Flat :: [32mforall a . Interpolated [32ma[0;32m[0m | 1642 | Flat :: [32mforall a . Interpolated [32ma[0;32m[0m |
345 | 'InterpolatedCase :: [32mforall a . forall (b :: Interpolated [32ma[0;32m -> Type) -> (forall (c :: [32mFloating [32m[32ma[0;32m[0;32m[0;32m) . [32m[32mb[0;32m [32m('Smooth [32mc[0;32m)[0;32m[0;32m) -> (forall (d :: [32mFloating [32m[32ma[0;32m[0;32m[0;32m) . [32m[32mb[0;32m [32m('NoPerspective [32md[0;32m)[0;32m[0;32m) -> [32m[32mb[0;32m [32m'Flat[0;32m[0;32m -> forall (e :: Interpolated [32ma[0;32m) -> [32m[32mb[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | 1643 | 'InterpolatedCase |
346 | match'Interpolated :: [32mforall (a :: Type -> Type) -> (forall b -> [32m[32ma[0;32m [32m(Interpolated [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | 1644 | :: [32mforall a |
347 | rasterizePrimitive :: [32mforall (a :: List Type) (b :: List Type) (c :: List Type) (d :: PrimitiveType) . ([32m[32m[32mmap [32mType[0;32m [32mType[0;32m [32mInterpolated[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m ~ [32m[32mb[0;32m[0;32m[0;32m, [32m[32m[32mc[0;32m[0;32m ~ [32m'Cons [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m [32ma[0;32m[0;32m[0;32m) => HList [32mb[0;32m -> RasterContext (HList [32mc[0;32m) [32md[0;32m -> Primitive (HList [32mc[0;32m) [32md[0;32m -> [32mFragmentStream [32m1[0;32m [32m(HList [32ma[0;32m)[0;32m[0;32m[0m | 1645 | . forall (b :: Interpolated [32ma[0;32m -> Type) |
348 | rasterizePrimitives :: [32mforall (a :: List Type) (b :: PrimitiveType) . RasterContext (HList ('Cons [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m [32ma[0;32m)) [32mb[0;32m -> HList [32m(map [32mType[0;32m [32mType[0;32m [32mInterpolated[0;32m [32m[32ma[0;32m[0;32m)[0;32m -> List (Primitive (HList ('Cons [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m [32ma[0;32m)) [32mb[0;32m) -> List (Vector 1 (Maybe (SimpleFragment (HList [32ma[0;32m))))[0m | 1646 | -> (forall (c :: [32mFloating [32m[32ma[0;32m[0;32m[0;32m) . [32m[32mb[0;32m [32m('Smooth [32mc[0;32m)[0;32m[0;32m) |
1647 | -> (forall (d :: [32mFloating [32m[32ma[0;32m[0;32m[0;32m) . [32m[32mb[0;32m [32m('NoPerspective [32md[0;32m)[0;32m[0;32m) | ||
1648 | -> [32m[32mb[0;32m [32m'Flat[0;32m[0;32m -> forall (e :: Interpolated [32ma[0;32m) -> [32m[32mb[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | ||
1649 | match'Interpolated | ||
1650 | :: [32mforall (a :: Type -> Type) | ||
1651 | -> (forall b -> [32m[32ma[0;32m [32m(Interpolated [32mb[0;32m)[0;32m[0;32m) -> forall c -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mc[0;32m[0;32m[0;32m[0m | ||
1652 | rasterizePrimitive | ||
1653 | :: [32mforall (a :: List Type) | ||
1654 | (b :: List Type) (c :: List Type) (d :: PrimitiveType) | ||
1655 | . ([32m[32m[32mmap [32mType[0;32m [32mType[0;32m [32mInterpolated[0;32m [32m[32ma[0;32m[0;32m[0;32m[0;32m ~ [32m[32mb[0;32m[0;32m[0;32m, [32m[32m[32mc[0;32m[0;32m ~ [32m'Cons [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m [32ma[0;32m[0;32m[0;32m) | ||
1656 | => HList [32mb[0;32m | ||
1657 | -> RasterContext (HList [32mc[0;32m) [32md[0;32m | ||
1658 | -> Primitive (HList [32mc[0;32m) [32md[0;32m -> [32mFragmentStream [32m1[0;32m [32m(HList [32ma[0;32m)[0;32m[0;32m[0m | ||
1659 | rasterizePrimitives | ||
1660 | :: [32mforall (a :: List Type) (b :: PrimitiveType) | ||
1661 | . RasterContext (HList ('Cons [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m [32ma[0;32m)) [32mb[0;32m | ||
1662 | -> HList [32m(map [32mType[0;32m [32mType[0;32m [32mInterpolated[0;32m [32m[32ma[0;32m[0;32m)[0;32m | ||
1663 | -> List (Primitive (HList ('Cons [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m [32ma[0;32m)) [32mb[0;32m) | ||
1664 | -> List (Vector 1 (Maybe (SimpleFragment (HList [32ma[0;32m))))[0m | ||
349 | 'ImageLC :: [32mType -> Nat[0m | 1665 | 'ImageLC :: [32mType -> Nat[0m |
350 | allSame :: [32mforall a . List [32ma[0;32m -> Type[0m | 1666 | allSame :: [32mforall a . List [32ma[0;32m -> Type[0m |
351 | sameLayerCounts :: [32mList Type -> Type[0m | 1667 | sameLayerCounts :: [32mList Type -> Type[0m |
352 | 'FrameBuffer :: [32mNat -> List ImageKind -> Type[0m | 1668 | 'FrameBuffer :: [32mNat -> List ImageKind -> Type[0m |
353 | 'FrameBufferCase :: [32mforall (a :: Nat) (b :: List ImageKind) . forall (c :: FrameBuffer [32ma[0;32m [32mb[0;32m -> Type) (d :: FrameBuffer [32ma[0;32m [32mb[0;32m) -> [32m[32mc[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | 1669 | 'FrameBufferCase |
354 | match'FrameBuffer :: [32mforall (a :: Type -> Type) -> (forall (b :: Nat) (c :: List ImageKind) -> [32m[32ma[0;32m [32m(FrameBuffer [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) -> forall d -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | 1670 | :: [32mforall (a :: Nat) (b :: List ImageKind) |
1671 | . forall (c :: FrameBuffer [32ma[0;32m [32mb[0;32m -> Type) (d :: FrameBuffer [32ma[0;32m [32mb[0;32m) -> [32m[32mc[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | ||
1672 | match'FrameBuffer | ||
1673 | :: [32mforall (a :: Type -> Type) | ||
1674 | -> (forall (b :: Nat) (c :: List ImageKind) -> [32m[32ma[0;32m [32m(FrameBuffer [32mb[0;32m [32mc[0;32m)[0;32m[0;32m) | ||
1675 | -> forall d -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32md[0;32m[0;32m[0;32m[0m | ||
355 | imageType' :: [32mList ImageKind -> List Type[0m | 1676 | imageType' :: [32mList ImageKind -> List Type[0m |
356 | 'FragmentOperationKind :: [32mType -> ImageKind[0m | 1677 | 'FragmentOperationKind :: [32mType -> ImageKind[0m |
357 | Accumulate :: [32mforall (a :: List ImageKind) (b :: Nat) (c :: List Type) . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mmap [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m)[0;32m => HList [32mc[0;32m -> [32mFragmentStream [32m[32mb[0;32m[0;32m [32m(HList [32m(imageType' [32m[32ma[0;32m[0;32m)[0;32m)[0;32m[0;32m -> FrameBuffer [32mb[0;32m [32ma[0;32m -> FrameBuffer [32mb[0;32m [32ma[0;32m[0m | 1678 | Accumulate |
1679 | :: [32mforall (a :: List ImageKind) (b :: Nat) (c :: List Type) | ||
1680 | . [32m([32m[32ma[0;32m[0;32m ~ [32m[32mmap [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mc[0;32m[0;32m[0;32m[0;32m)[0;32m | ||
1681 | => HList [32mc[0;32m | ||
1682 | -> [32mFragmentStream [32m[32mb[0;32m[0;32m [32m(HList [32m(imageType' [32m[32ma[0;32m[0;32m)[0;32m)[0;32m[0;32m -> FrameBuffer [32mb[0;32m [32ma[0;32m -> FrameBuffer [32mb[0;32m [32ma[0;32m[0m | ||
358 | accumulateWith :: [32mforall a b . [32ma[0;32m -> [32mb[0;32m -> ([32ma[0;32m, [32mb[0;32m)[0m | 1683 | accumulateWith :: [32mforall a b . [32ma[0;32m -> [32mb[0;32m -> ([32ma[0;32m, [32mb[0;32m)[0m |
359 | overlay :: [32mforall (a :: Nat) (b :: List Type) . FrameBuffer [32ma[0;32m [32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mb[0;32m[0;32m)[0;32m -> (HList [32mb[0;32m, List [32m(Fragment [32m[32ma[0;32m[0;32m [32m(HList [32m(imageType' [32m[32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mb[0;32m[0;32m)[0;32m[0;32m)[0;32m)[0;32m)[0;32m) -> FrameBuffer [32ma[0;32m [32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mb[0;32m[0;32m)[0;32m[0m | 1684 | overlay |
1685 | :: [32mforall (a :: Nat) (b :: List Type) | ||
1686 | . FrameBuffer [32ma[0;32m [32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mb[0;32m[0;32m)[0;32m | ||
1687 | -> (HList [32mb[0;32m, List | ||
1688 | [32m(Fragment [32m[32ma[0;32m[0;32m [32m(HList [32m(imageType' [32m[32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mb[0;32m[0;32m)[0;32m[0;32m)[0;32m)[0;32m)[0;32m) | ||
1689 | -> FrameBuffer [32ma[0;32m [32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mb[0;32m[0;32m)[0;32m[0m | ||
360 | 'GetImageKind :: [32mType -> ImageKind[0m | 1690 | 'GetImageKind :: [32mType -> ImageKind[0m |
361 | FrameBuffer :: [32mforall (a :: List Type) . [32msameLayerCounts [32m[32ma[0;32m[0;32m[0;32m => HList [32ma[0;32m -> FrameBuffer [32m(ImageLC [32m[32m(head [32mType[0;32m [32m[32ma[0;32m[0;32m)[0;32m[0;32m)[0;32m [32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mGetImageKind[0;32m[0;32m [32m[32ma[0;32m[0;32m)[0;32m[0m | 1691 | FrameBuffer |
362 | imageFrame :: [32mforall (a :: List Type) . [32msameLayerCounts [32m[32ma[0;32m[0;32m[0;32m => HList [32ma[0;32m -> FrameBuffer [32m(ImageLC [32m[32m(head [32mType[0;32m [32m[32ma[0;32m[0;32m)[0;32m[0;32m)[0;32m [32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mGetImageKind[0;32m[0;32m [32m[32ma[0;32m[0;32m)[0;32m[0m | 1692 | :: [32mforall (a :: List Type) |
363 | accumulate :: [32mforall (a :: Nat) (b :: List Type) c . HList [32mb[0;32m -> ([32mc[0;32m -> HList [32m(imageType' [32m[32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mb[0;32m[0;32m)[0;32m[0;32m)[0;32m) -> List (Vector [32ma[0;32m (Maybe (SimpleFragment [32mc[0;32m))) -> FrameBuffer [32ma[0;32m [32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mb[0;32m[0;32m)[0;32m -> FrameBuffer [32ma[0;32m [32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mb[0;32m[0;32m)[0;32m[0m | 1693 | . [32msameLayerCounts [32m[32ma[0;32m[0;32m[0;32m |
1694 | => HList [32ma[0;32m | ||
1695 | -> FrameBuffer [32m(ImageLC [32m[32m(head [32mType[0;32m [32m[32ma[0;32m[0;32m)[0;32m[0;32m)[0;32m [32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mGetImageKind[0;32m[0;32m [32m[32ma[0;32m[0;32m)[0;32m[0m | ||
1696 | imageFrame | ||
1697 | :: [32mforall (a :: List Type) | ||
1698 | . [32msameLayerCounts [32m[32ma[0;32m[0;32m[0;32m | ||
1699 | => HList [32ma[0;32m | ||
1700 | -> FrameBuffer [32m(ImageLC [32m[32m(head [32mType[0;32m [32m[32ma[0;32m[0;32m)[0;32m[0;32m)[0;32m [32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mGetImageKind[0;32m[0;32m [32m[32ma[0;32m[0;32m)[0;32m[0m | ||
1701 | accumulate | ||
1702 | :: [32mforall (a :: Nat) (b :: List Type) c | ||
1703 | . HList [32mb[0;32m | ||
1704 | -> ([32mc[0;32m -> HList [32m(imageType' [32m[32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mb[0;32m[0;32m)[0;32m[0;32m)[0;32m) | ||
1705 | -> List (Vector [32ma[0;32m (Maybe (SimpleFragment [32mc[0;32m))) | ||
1706 | -> FrameBuffer [32ma[0;32m [32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mb[0;32m[0;32m)[0;32m | ||
1707 | -> FrameBuffer [32ma[0;32m [32m(map [32mType[0;32m [32mImageKind[0;32m [32m[32mFragmentOperationKind[0;32m[0;32m [32m[32mb[0;32m[0;32m)[0;32m[0m | ||
364 | PrjImage :: [32mforall (a :: ImageKind) . FrameBuffer 1 ('Cons [32ma[0;32m 'Nil) -> Image 1 [32ma[0;32m[0m | 1708 | PrjImage :: [32mforall (a :: ImageKind) . FrameBuffer 1 ('Cons [32ma[0;32m 'Nil) -> Image 1 [32ma[0;32m[0m |
365 | PrjImageColor :: [32mFrameBuffer 1 ('Cons 'Depth ('Cons ('Color [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m) 'Nil)) -> Image 1 ('Color [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m)[0m | 1709 | PrjImageColor |
1710 | :: [32mFrameBuffer 1 ('Cons 'Depth ('Cons ('Color [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m) 'Nil)) | ||
1711 | -> Image 1 ('Color [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m)[0m | ||
366 | 'Output :: [32mType[0m | 1712 | 'Output :: [32mType[0m |
367 | ScreenOut :: [32mforall (a :: Nat) (b :: List ImageKind) . FrameBuffer [32ma[0;32m [32mb[0;32m -> Output[0m | 1713 | ScreenOut :: [32mforall (a :: Nat) (b :: List ImageKind) . FrameBuffer [32ma[0;32m [32mb[0;32m -> Output[0m |
368 | 'OutputCase :: [32mforall (a :: Output -> Type) -> (forall (b :: Nat) (c :: List ImageKind) . forall (d :: FrameBuffer [32mb[0;32m [32mc[0;32m) -> [32m[32ma[0;32m [32m('ScreenOut [32mb[0;32m [32mc[0;32m [32md[0;32m)[0;32m[0;32m) -> forall (e :: Output) -> [32m[32ma[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | 1714 | 'OutputCase |
1715 | :: [32mforall (a :: Output -> Type) | ||
1716 | -> (forall (b :: Nat) (c :: List ImageKind) | ||
1717 | . forall (d :: FrameBuffer [32mb[0;32m [32mc[0;32m) -> [32m[32ma[0;32m [32m('ScreenOut [32mb[0;32m [32mc[0;32m [32md[0;32m)[0;32m[0;32m) | ||
1718 | -> forall (e :: Output) -> [32m[32ma[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | ||
369 | match'Output :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mOutput[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1719 | match'Output :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mOutput[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m |
370 | renderFrame :: [32mforall (a :: Nat) (b :: List ImageKind) . FrameBuffer [32ma[0;32m [32mb[0;32m -> Output[0m | 1720 | renderFrame |
1721 | :: [32mforall (a :: Nat) (b :: List ImageKind) . FrameBuffer [32ma[0;32m [32mb[0;32m -> Output[0m | ||
371 | 'Texture :: [32mType[0m | 1722 | 'Texture :: [32mType[0m |
372 | Texture2DSlot :: [32mString -> Texture[0m | 1723 | Texture2DSlot :: [32mString -> Texture[0m |
373 | Texture2D :: [32m[32mVec [32m2[0;32m [32mInt[0;32m[0;32m -> Image 1 ('Color [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m) -> Texture[0m | 1724 | Texture2D :: [32m[32mVec [32m2[0;32m [32mInt[0;32m[0;32m -> Image 1 ('Color [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m) -> Texture[0m |
374 | 'TextureCase :: [32mforall (a :: Texture -> Type) -> (forall (b :: String) -> [32m[32ma[0;32m [32m('Texture2DSlot [32mb[0;32m)[0;32m[0;32m) -> (forall (c :: [32mVec [32m2[0;32m [32mInt[0;32m[0;32m) (d :: Image 1 ('Color [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m)) -> [32m[32ma[0;32m [32m('Texture2D [32mc[0;32m [32md[0;32m)[0;32m[0;32m) -> forall (e :: Texture) -> [32m[32ma[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | 1725 | 'TextureCase |
375 | match'Texture :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mTexture[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1726 | :: [32mforall (a :: Texture -> Type) |
1727 | -> (forall (b :: String) -> [32m[32ma[0;32m [32m('Texture2DSlot [32mb[0;32m)[0;32m[0;32m) | ||
1728 | -> (forall (c :: [32mVec [32m2[0;32m [32mInt[0;32m[0;32m) (d :: Image 1 ('Color [32m(Vec [32m4[0;32m [32mFloat[0;32m)[0;32m)) | ||
1729 | -> [32m[32ma[0;32m [32m('Texture2D [32mc[0;32m [32md[0;32m)[0;32m[0;32m) | ||
1730 | -> forall (e :: Texture) -> [32m[32ma[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | ||
1731 | match'Texture | ||
1732 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mTexture[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
376 | 'Filter :: [32mType[0m | 1733 | 'Filter :: [32mType[0m |
377 | PointFilter :: [32mFilter[0m | 1734 | PointFilter :: [32mFilter[0m |
378 | LinearFilter :: [32mFilter[0m | 1735 | LinearFilter :: [32mFilter[0m |
379 | 'FilterCase :: [32mforall (a :: Filter -> Type) -> [32m[32ma[0;32m [32m'PointFilter[0;32m[0;32m -> [32m[32ma[0;32m [32m'LinearFilter[0;32m[0;32m -> forall (b :: Filter) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1736 | 'FilterCase |
1737 | :: [32mforall (a :: Filter -> Type) | ||
1738 | -> [32m[32ma[0;32m [32m'PointFilter[0;32m[0;32m -> [32m[32ma[0;32m [32m'LinearFilter[0;32m[0;32m -> forall (b :: Filter) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
380 | match'Filter :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mFilter[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1739 | match'Filter :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mFilter[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m |
381 | 'EdgeMode :: [32mType[0m | 1740 | 'EdgeMode :: [32mType[0m |
382 | Repeat :: [32mEdgeMode[0m | 1741 | Repeat :: [32mEdgeMode[0m |
383 | MirroredRepeat :: [32mEdgeMode[0m | 1742 | MirroredRepeat :: [32mEdgeMode[0m |
384 | ClampToEdge :: [32mEdgeMode[0m | 1743 | ClampToEdge :: [32mEdgeMode[0m |
385 | 'EdgeModeCase :: [32mforall (a :: EdgeMode -> Type) -> [32m[32ma[0;32m [32m'Repeat[0;32m[0;32m -> [32m[32ma[0;32m [32m'MirroredRepeat[0;32m[0;32m -> [32m[32ma[0;32m [32m'ClampToEdge[0;32m[0;32m -> forall (b :: EdgeMode) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1744 | 'EdgeModeCase |
386 | match'EdgeMode :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mEdgeMode[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1745 | :: [32mforall (a :: EdgeMode -> Type) |
1746 | -> [32m[32ma[0;32m [32m'Repeat[0;32m[0;32m | ||
1747 | -> [32m[32ma[0;32m [32m'MirroredRepeat[0;32m[0;32m -> [32m[32ma[0;32m [32m'ClampToEdge[0;32m[0;32m -> forall (b :: EdgeMode) -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
1748 | match'EdgeMode | ||
1749 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mEdgeMode[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
387 | 'Sampler :: [32mType[0m | 1750 | 'Sampler :: [32mType[0m |
388 | Sampler :: [32mFilter -> EdgeMode -> Texture -> Sampler[0m | 1751 | Sampler :: [32mFilter -> EdgeMode -> Texture -> Sampler[0m |
389 | 'SamplerCase :: [32mforall (a :: Sampler -> Type) -> (forall (b :: Filter) (c :: EdgeMode) (d :: Texture) -> [32m[32ma[0;32m [32m('Sampler [32mb[0;32m [32mc[0;32m [32md[0;32m)[0;32m[0;32m) -> forall (e :: Sampler) -> [32m[32ma[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | 1752 | 'SamplerCase |
390 | match'Sampler :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mSampler[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | 1753 | :: [32mforall (a :: Sampler -> Type) |
1754 | -> (forall (b :: Filter) (c :: EdgeMode) (d :: Texture) -> [32m[32ma[0;32m [32m('Sampler [32mb[0;32m [32mc[0;32m [32md[0;32m)[0;32m[0;32m) | ||
1755 | -> forall (e :: Sampler) -> [32m[32ma[0;32m [32m[32me[0;32m[0;32m[0;32m[0m | ||
1756 | match'Sampler | ||
1757 | :: [32mforall (a :: Type -> Type) -> [32m[32ma[0;32m [32mSampler[0;32m[0;32m -> forall b -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m -> [32m[32ma[0;32m [32m[32mb[0;32m[0;32m[0;32m[0m | ||
391 | texture2D :: [32mSampler -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m[0m | 1758 | texture2D :: [32mSampler -> [32mVec [32m2[0;32m [32mFloat[0;32m[0;32m -> [32mVec [32m4[0;32m [32mFloat[0;32m[0;32m[0m |
392 | accumulationContext :: [32mforall a . [32ma[0;32m -> [32ma[0;32m[0m | 1759 | accumulationContext :: [32mforall a . [32ma[0;32m -> [32ma[0;32m[0m |
393 | ------------ tooltips | 1760 | ------------ tooltips |
@@ -1054,8 +2421,10 @@ testdata/Builtins.lc 126:63-126:64 Type | |||
1054 | testdata/Builtins.lc 126:69-126:70 Type | 2421 | testdata/Builtins.lc 126:69-126:70 Type |
1055 | testdata/Builtins.lc 126:69-126:75 Type | 2422 | testdata/Builtins.lc 126:69-126:75 Type |
1056 | testdata/Builtins.lc 126:74-126:75 Type | 2423 | testdata/Builtins.lc 126:74-126:75 Type |
1057 | testdata/Builtins.lc 127:1-127:12 forall a b (c :: Nat) d . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b | 2424 | testdata/Builtins.lc 127:1-127:12 forall a b (c :: Nat) d |
1058 | testdata/Builtins.lc 127:14-127:25 forall a b (c :: Nat) d . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b | 2425 | . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b |
2426 | testdata/Builtins.lc 127:14-127:25 forall a b (c :: Nat) d | ||
2427 | . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b | ||
1059 | testdata/Builtins.lc 127:34-127:102 Type | 2428 | testdata/Builtins.lc 127:34-127:102 Type |
1060 | testdata/Builtins.lc 127:35-127:43 Type -> Type | 2429 | testdata/Builtins.lc 127:35-127:43 Type -> Type |
1061 | testdata/Builtins.lc 127:35-127:45 Type | 2430 | testdata/Builtins.lc 127:35-127:45 Type |
@@ -2028,7 +3397,8 @@ testdata/Builtins.lc 253:24-253:38 Primitive _g _a -> Primitive _f _a | |||
2028 | testdata/Builtins.lc 253:37-253:38 _i -> _h | 3397 | testdata/Builtins.lc 253:37-253:38 _i -> _h |
2029 | testdata/Builtins.lc 255:30-255:38 Type -> Type | 3398 | testdata/Builtins.lc 255:30-255:38 Type -> Type |
2030 | testdata/Builtins.lc 255:45-255:46 Type | Type -> Type | 3399 | testdata/Builtins.lc 255:45-255:46 Type | Type -> Type |
2031 | testdata/Builtins.lc 260:1-260:12 forall (a :: PrimitiveType) (b :: List Type) (c :: List Type) . (b ~ map Type Type ListElem c) => HList c -> PrimitiveStream a (HList b) | 3400 | testdata/Builtins.lc 260:1-260:12 forall (a :: PrimitiveType) (b :: List Type) (c :: List Type) |
3401 | . (b ~ map Type Type ListElem c) => HList c -> PrimitiveStream a (HList b) | ||
2032 | testdata/Builtins.lc 260:32-260:119 Type | 3402 | testdata/Builtins.lc 260:32-260:119 Type |
2033 | testdata/Builtins.lc 260:56-260:57 _e | 3403 | testdata/Builtins.lc 260:56-260:57 _e |
2034 | testdata/Builtins.lc 260:56-260:59 _d -> Type | 3404 | testdata/Builtins.lc 260:56-260:59 _d -> Type |
@@ -2050,7 +3420,8 @@ testdata/Builtins.lc 260:108-260:109 _f | |||
2050 | testdata/Builtins.lc 260:111-260:116 List Type -> Type | 3420 | testdata/Builtins.lc 260:111-260:116 List Type -> Type |
2051 | testdata/Builtins.lc 260:111-260:118 Type | 3421 | testdata/Builtins.lc 260:111-260:118 Type |
2052 | testdata/Builtins.lc 260:117-260:118 List Type | 3422 | testdata/Builtins.lc 260:117-260:118 List Type |
2053 | testdata/Builtins.lc 262:1-262:6 forall (a :: PrimitiveType) (b :: List Type) . String -> HList b -> PrimitiveStream a (HList b) | 3423 | testdata/Builtins.lc 262:1-262:6 forall (a :: PrimitiveType) (b :: List Type) |
3424 | . String -> HList b -> PrimitiveStream a (HList b) | ||
2054 | testdata/Builtins.lc 262:56-262:62 Type | 3425 | testdata/Builtins.lc 262:56-262:62 Type |
2055 | testdata/Builtins.lc 262:56-262:104 Type | 3426 | testdata/Builtins.lc 262:56-262:104 Type |
2056 | testdata/Builtins.lc 262:66-262:71 List Type -> Type | 3427 | testdata/Builtins.lc 262:66-262:71 List Type -> Type |
@@ -2068,7 +3439,9 @@ testdata/Builtins.lc 264:1-264:10 forall a . String -> a | |||
2068 | testdata/Builtins.lc 264:14-264:20 Type | 3439 | testdata/Builtins.lc 264:14-264:20 Type |
2069 | testdata/Builtins.lc 264:14-264:25 Type | 3440 | testdata/Builtins.lc 264:14-264:25 Type |
2070 | testdata/Builtins.lc 264:24-264:25 Type | _c | 3441 | testdata/Builtins.lc 264:24-264:25 Type | _c |
2071 | testdata/Builtins.lc 266:1-266:12 forall (a :: PrimitiveType) (b :: List Type) . String -> forall (c :: List String) -> (len String c ~ len Type b) => PrimitiveStream a (HList b) | 3442 | testdata/Builtins.lc 266:1-266:12 forall (a :: PrimitiveType) (b :: List Type) |
3443 | . String | ||
3444 | -> forall (c :: List String) -> (len String c ~ len Type b) => PrimitiveStream a (HList b) | ||
2072 | testdata/Builtins.lc 266:31-266:37 Type | 3445 | testdata/Builtins.lc 266:31-266:37 Type |
2073 | testdata/Builtins.lc 266:31-266:123 Type | 3446 | testdata/Builtins.lc 266:31-266:123 Type |
2074 | testdata/Builtins.lc 266:32-266:36 Type | 3447 | testdata/Builtins.lc 266:32-266:36 Type |
@@ -2154,9 +3527,13 @@ testdata/Builtins.lc 281:58-281:74 Type -> Type | |||
2154 | testdata/Builtins.lc 281:58-281:76 Type | 3527 | testdata/Builtins.lc 281:58-281:76 Type |
2155 | testdata/Builtins.lc 281:73-281:74 Nat | 3528 | testdata/Builtins.lc 281:73-281:74 Nat |
2156 | testdata/Builtins.lc 281:75-281:76 Type | 3529 | testdata/Builtins.lc 281:75-281:76 Type |
2157 | testdata/Builtins.lc 282:1-282:16 forall a (b :: Nat) . (a -> Float) -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a))) | 3530 | testdata/Builtins.lc 282:1-282:16 forall a (b :: Nat) |
3531 | . (a -> Float) | ||
3532 | -> List (Vector b (Maybe (SimpleFragment a))) | ||
3533 | -> List (Vector b (Maybe (SimpleFragment a))) | ||
2158 | testdata/Builtins.lc 282:21-282:24 forall a b . (a -> b) -> List a -> List b | 3534 | testdata/Builtins.lc 282:21-282:24 forall a b . (a -> b) -> List a -> List b |
2159 | testdata/Builtins.lc 282:21-282:43 (_b -> Float) -> FragmentStream _a _b -> FragmentStream _a _b | List (Vector _a (Maybe (SimpleFragment _d))) -> List (Vector _a (Maybe (SimpleFragment _d))) | 3535 | testdata/Builtins.lc 282:21-282:43 (_b -> Float) -> FragmentStream _a _b -> FragmentStream _a _b | List (Vector _a (Maybe (SimpleFragment _d))) |
3536 | -> List (Vector _a (Maybe (SimpleFragment _d))) | ||
2160 | testdata/Builtins.lc 282:26-282:40 forall a (b :: Nat) . (a -> Float) -> Fragment b a -> Fragment b a | 3537 | testdata/Builtins.lc 282:26-282:40 forall a (b :: Nat) . (a -> Float) -> Fragment b a -> Fragment b a |
2161 | testdata/Builtins.lc 282:26-282:42 Fragment _a _f -> Fragment _a _f | 3538 | testdata/Builtins.lc 282:26-282:42 Fragment _a _f -> Fragment _a _f |
2162 | testdata/Builtins.lc 282:41-282:42 _g -> Float | 3539 | testdata/Builtins.lc 282:41-282:42 _g -> Float |
@@ -2189,9 +3566,13 @@ testdata/Builtins.lc 286:57-286:73 Type -> Type | |||
2189 | testdata/Builtins.lc 286:57-286:75 Type | 3566 | testdata/Builtins.lc 286:57-286:75 Type |
2190 | testdata/Builtins.lc 286:72-286:73 Nat | 3567 | testdata/Builtins.lc 286:72-286:73 Nat |
2191 | testdata/Builtins.lc 286:74-286:75 Type | 3568 | testdata/Builtins.lc 286:74-286:75 Type |
2192 | testdata/Builtins.lc 287:1-287:16 forall a (b :: Nat) . (a -> Bool) -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a))) | 3569 | testdata/Builtins.lc 287:1-287:16 forall a (b :: Nat) |
3570 | . (a -> Bool) | ||
3571 | -> List (Vector b (Maybe (SimpleFragment a))) | ||
3572 | -> List (Vector b (Maybe (SimpleFragment a))) | ||
2193 | testdata/Builtins.lc 287:21-287:24 forall a b . (a -> b) -> List a -> List b | 3573 | testdata/Builtins.lc 287:21-287:24 forall a b . (a -> b) -> List a -> List b |
2194 | testdata/Builtins.lc 287:21-287:43 (_b -> Bool) -> FragmentStream _a _b -> FragmentStream _a _b | List (Vector _a (Maybe (SimpleFragment _d))) -> List (Vector _a (Maybe (SimpleFragment _d))) | 3574 | testdata/Builtins.lc 287:21-287:43 (_b -> Bool) -> FragmentStream _a _b -> FragmentStream _a _b | List (Vector _a (Maybe (SimpleFragment _d))) |
3575 | -> List (Vector _a (Maybe (SimpleFragment _d))) | ||
2195 | testdata/Builtins.lc 287:26-287:40 forall a (b :: Nat) . (a -> Bool) -> Fragment b a -> Fragment b a | 3576 | testdata/Builtins.lc 287:26-287:40 forall a (b :: Nat) . (a -> Bool) -> Fragment b a -> Fragment b a |
2196 | testdata/Builtins.lc 287:26-287:42 Fragment _a _f -> Fragment _a _f | 3577 | testdata/Builtins.lc 287:26-287:42 Fragment _a _f -> Fragment _a _f |
2197 | testdata/Builtins.lc 287:41-287:42 _g -> Bool | 3578 | testdata/Builtins.lc 287:41-287:42 _g -> Bool |
@@ -2224,9 +3605,13 @@ testdata/Builtins.lc 291:51-291:67 Type -> Type | |||
2224 | testdata/Builtins.lc 291:51-291:69 Type | 3605 | testdata/Builtins.lc 291:51-291:69 Type |
2225 | testdata/Builtins.lc 291:66-291:67 Nat | 3606 | testdata/Builtins.lc 291:66-291:67 Nat |
2226 | testdata/Builtins.lc 291:68-291:69 Type | 3607 | testdata/Builtins.lc 291:68-291:69 Type |
2227 | testdata/Builtins.lc 292:1-292:13 forall a b (c :: Nat) . (a -> b) -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b))) | 3608 | testdata/Builtins.lc 292:1-292:13 forall a b (c :: Nat) |
3609 | . (a -> b) | ||
3610 | -> List (Vector c (Maybe (SimpleFragment a))) | ||
3611 | -> List (Vector c (Maybe (SimpleFragment b))) | ||
2228 | testdata/Builtins.lc 292:18-292:21 forall a b . (a -> b) -> List a -> List b | 3612 | testdata/Builtins.lc 292:18-292:21 forall a b . (a -> b) -> List a -> List b |
2229 | testdata/Builtins.lc 292:18-292:37 (_c -> _b) -> FragmentStream _a _c -> FragmentStream _a _b | List (Vector _a (Maybe (SimpleFragment _e))) -> List (Vector _a (Maybe (SimpleFragment _d))) | 3613 | testdata/Builtins.lc 292:18-292:37 (_c -> _b) -> FragmentStream _a _c -> FragmentStream _a _b | List (Vector _a (Maybe (SimpleFragment _e))) |
3614 | -> List (Vector _a (Maybe (SimpleFragment _d))) | ||
2230 | testdata/Builtins.lc 292:23-292:34 forall a b (c :: Nat) . (a -> b) -> Fragment c a -> Fragment c b | 3615 | testdata/Builtins.lc 292:23-292:34 forall a b (c :: Nat) . (a -> b) -> Fragment c a -> Fragment c b |
2231 | testdata/Builtins.lc 292:23-292:36 Fragment _a _g -> Fragment _a _f | 3616 | testdata/Builtins.lc 292:23-292:36 Fragment _a _g -> Fragment _a _f |
2232 | testdata/Builtins.lc 292:35-292:36 _i -> _h | 3617 | testdata/Builtins.lc 292:35-292:36 _i -> _h |
@@ -2502,7 +3887,9 @@ testdata/Builtins.lc 455:6-458:111 Type | |||
2502 | testdata/Builtins.lc 455:25-455:38 Type | 3887 | testdata/Builtins.lc 455:25-455:38 Type |
2503 | testdata/Builtins.lc 455:25-455:46 Type | 3888 | testdata/Builtins.lc 455:25-455:46 Type |
2504 | testdata/Builtins.lc 455:42-455:46 Type | 3889 | testdata/Builtins.lc 455:42-455:46 Type |
2505 | testdata/Builtins.lc 456:3-456:14 RasterContext _f 'Triangle | forall a . CullMode -> PolygonMode a -> PolygonOffset -> ProvokingVertex -> RasterContext a 'Triangle | 3890 | testdata/Builtins.lc 456:3-456:14 RasterContext _f 'Triangle | forall a |
3891 | . CullMode | ||
3892 | -> PolygonMode a -> PolygonOffset -> ProvokingVertex -> RasterContext a 'Triangle | ||
2506 | testdata/Builtins.lc 456:3-456:115 Type | 3893 | testdata/Builtins.lc 456:3-456:115 Type |
2507 | testdata/Builtins.lc 456:26-456:34 Type | 3894 | testdata/Builtins.lc 456:26-456:34 Type |
2508 | testdata/Builtins.lc 456:26-456:115 Type | 3895 | testdata/Builtins.lc 456:26-456:115 Type |
@@ -2565,7 +3952,9 @@ testdata/Builtins.lc 462:42-462:70 Type | |||
2565 | testdata/Builtins.lc 462:60-462:68 Type -> Type | 3952 | testdata/Builtins.lc 462:60-462:68 Type -> Type |
2566 | testdata/Builtins.lc 462:60-462:70 Type | 3953 | testdata/Builtins.lc 462:60-462:70 Type |
2567 | testdata/Builtins.lc 462:69-462:70 Type | 3954 | testdata/Builtins.lc 462:69-462:70 Type |
2568 | testdata/Builtins.lc 463:3-463:8 (BlendEquation, BlendEquation) -> ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor)) -> Vec 4 Float -> Blending Float | Blending Float | 3955 | testdata/Builtins.lc 463:3-463:8 (BlendEquation, BlendEquation) |
3956 | -> ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor)) | ||
3957 | -> Vec 4 Float -> Blending Float | Blending Float | ||
2569 | testdata/Builtins.lc 463:3-465:74 Type | 3958 | testdata/Builtins.lc 463:3-465:74 Type |
2570 | testdata/Builtins.lc 463:26-463:56 Type | 3959 | testdata/Builtins.lc 463:26-463:56 Type |
2571 | testdata/Builtins.lc 463:27-463:40 Type | 3960 | testdata/Builtins.lc 463:27-463:40 Type |
@@ -2597,7 +3986,8 @@ testdata/Builtins.lc 470:6-470:23 ImageKind -> Type | Type | |||
2597 | testdata/Builtins.lc 470:6-473:96 Type | 3986 | testdata/Builtins.lc 470:6-473:96 Type |
2598 | testdata/Builtins.lc 470:27-470:36 Type | 3987 | testdata/Builtins.lc 470:27-470:36 Type |
2599 | testdata/Builtins.lc 470:40-470:44 Type | 3988 | testdata/Builtins.lc 470:40-470:44 Type |
2600 | testdata/Builtins.lc 471:3-471:10 FragmentOperation ('Color (VecScalar _d _e)) | forall a (b :: Nat) . Num a => Blending a -> VecScalar b Bool -> FragmentOperation ('Color (VecScalar b a)) | 3989 | testdata/Builtins.lc 471:3-471:10 FragmentOperation ('Color (VecScalar _d _e)) | forall a (b :: Nat) |
3990 | . Num a => Blending a -> VecScalar b Bool -> FragmentOperation ('Color (VecScalar b a)) | ||
2601 | testdata/Builtins.lc 471:3-471:112 Type | 3991 | testdata/Builtins.lc 471:3-471:112 Type |
2602 | testdata/Builtins.lc 471:26-471:29 Type -> Type | 3992 | testdata/Builtins.lc 471:26-471:29 Type -> Type |
2603 | testdata/Builtins.lc 471:26-471:31 Type | 3993 | testdata/Builtins.lc 471:26-471:31 Type |
@@ -2655,7 +4045,10 @@ testdata/Builtins.lc 478:3-478:7 Interpolated _d | forall a . Interpolated a | |||
2655 | testdata/Builtins.lc 478:42-478:54 Type -> Type | 4045 | testdata/Builtins.lc 478:42-478:54 Type -> Type |
2656 | testdata/Builtins.lc 478:42-478:56 Type | 4046 | testdata/Builtins.lc 478:42-478:56 Type |
2657 | testdata/Builtins.lc 478:55-478:56 Type | 4047 | testdata/Builtins.lc 478:55-478:56 Type |
2658 | testdata/Builtins.lc 480:1-480:19 forall (a :: List Type) (b :: List Type) (c :: List Type) (d :: PrimitiveType) . (map Type Type Interpolated a ~ b, c ~ 'Cons (Vec 4 Float) a) => HList b -> RasterContext (HList c) d -> Primitive (HList c) d -> FragmentStream 1 (HList a) | 4048 | testdata/Builtins.lc 480:1-480:19 forall (a :: List Type) (b :: List Type) (c :: List Type) (d :: PrimitiveType) |
4049 | . (map Type Type Interpolated a ~ b, c ~ 'Cons (Vec 4 Float) a) | ||
4050 | => HList b | ||
4051 | -> RasterContext (HList c) d -> Primitive (HList c) d -> FragmentStream 1 (HList a) | ||
2659 | testdata/Builtins.lc 481:8-486:34 Type | 4052 | testdata/Builtins.lc 481:8-486:34 Type |
2660 | testdata/Builtins.lc 481:10-481:13 forall a b . (a -> b) -> List a -> List b | 4053 | testdata/Builtins.lc 481:10-481:13 forall a b . (a -> b) -> List a -> List b |
2661 | testdata/Builtins.lc 481:10-481:26 List Type -> List Type | 4054 | testdata/Builtins.lc 481:10-481:26 List Type -> List Type |
@@ -2707,14 +4100,23 @@ testdata/Builtins.lc 486:23-486:24 _b | |||
2707 | testdata/Builtins.lc 486:26-486:31 List Type -> Type | 4100 | testdata/Builtins.lc 486:26-486:31 List Type -> Type |
2708 | testdata/Builtins.lc 486:26-486:33 Type | 4101 | testdata/Builtins.lc 486:26-486:33 Type |
2709 | testdata/Builtins.lc 486:32-486:33 List Type | 4102 | testdata/Builtins.lc 486:32-486:33 List Type |
2710 | testdata/Builtins.lc 488:1-488:20 forall (a :: List Type) (b :: PrimitiveType) . RasterContext (HList ('Cons (Vec 4 Float) a)) b -> HList (map Type Type Interpolated a) -> List (Primitive (HList ('Cons (Vec 4 Float) a)) b) -> List (Vector 1 (Maybe (SimpleFragment (HList a)))) | 4103 | testdata/Builtins.lc 488:1-488:20 forall (a :: List Type) (b :: PrimitiveType) |
4104 | . RasterContext (HList ('Cons (Vec 4 Float) a)) b | ||
4105 | -> HList (map Type Type Interpolated a) | ||
4106 | -> List (Primitive (HList ('Cons (Vec 4 Float) a)) b) | ||
4107 | -> List (Vector 1 (Maybe (SimpleFragment (HList a)))) | ||
2711 | testdata/Builtins.lc 488:32-488:38 forall a . List (List a) -> List a | 4108 | testdata/Builtins.lc 488:32-488:38 forall a . List (List a) -> List a |
2712 | testdata/Builtins.lc 488:32-488:74 List (Vector 1 (Maybe (SimpleFragment (HList _b)))) | 4109 | testdata/Builtins.lc 488:32-488:74 List (Vector 1 (Maybe (SimpleFragment (HList _b)))) |
2713 | testdata/Builtins.lc 488:40-488:43 forall a b . (a -> b) -> List a -> List b | 4110 | testdata/Builtins.lc 488:40-488:43 forall a b . (a -> b) -> List a -> List b |
2714 | testdata/Builtins.lc 488:40-488:71 List (Primitive (HList ('Cons (Vec 4 Float) _b)) _a) -> List (List (Fragment 1 (HList _b))) | 4111 | testdata/Builtins.lc 488:40-488:71 List (Primitive (HList ('Cons (Vec 4 Float) _b)) _a) |
4112 | -> List (List (Fragment 1 (HList _b))) | ||
2715 | testdata/Builtins.lc 488:40-488:73 List (List (Fragment 1 (HList _b))) | 4113 | testdata/Builtins.lc 488:40-488:73 List (List (Fragment 1 (HList _b))) |
2716 | testdata/Builtins.lc 488:45-488:63 forall (a :: List Type) (b :: List Type) (c :: List Type) (d :: PrimitiveType) . (map Type Type Interpolated a ~ b, c ~ 'Cons (Vec 4 Float) a) => HList b -> RasterContext (HList c) d -> Primitive (HList c) d -> FragmentStream 1 (HList a) | 4114 | testdata/Builtins.lc 488:45-488:63 forall (a :: List Type) (b :: List Type) (c :: List Type) (d :: PrimitiveType) |
2717 | testdata/Builtins.lc 488:45-488:66 RasterContext (HList ('Cons (Vec 4 Float) _b)) _a -> Primitive (HList ('Cons (Vec 4 Float) _b)) _a -> FragmentStream 1 (HList _b) | 4115 | . (map Type Type Interpolated a ~ b, c ~ 'Cons (Vec 4 Float) a) |
4116 | => HList b | ||
4117 | -> RasterContext (HList c) d -> Primitive (HList c) d -> FragmentStream 1 (HList a) | ||
4118 | testdata/Builtins.lc 488:45-488:66 RasterContext (HList ('Cons (Vec 4 Float) _b)) _a | ||
4119 | -> Primitive (HList ('Cons (Vec 4 Float) _b)) _a -> FragmentStream 1 (HList _b) | ||
2718 | testdata/Builtins.lc 488:45-488:70 Primitive (HList ('Cons (Vec 4 Float) _b)) _a -> FragmentStream 1 (HList _b) | 4120 | testdata/Builtins.lc 488:45-488:70 Primitive (HList ('Cons (Vec 4 Float) _b)) _a -> FragmentStream 1 (HList _b) |
2719 | testdata/Builtins.lc 488:64-488:66 _i | 4121 | testdata/Builtins.lc 488:64-488:66 _i |
2720 | testdata/Builtins.lc 488:67-488:70 _h | 4122 | testdata/Builtins.lc 488:67-488:70 _h |
@@ -2779,7 +4181,10 @@ testdata/Builtins.lc 513:30-513:31 List ImageKind | |||
2779 | testdata/Builtins.lc 515:40-515:49 Type | 4181 | testdata/Builtins.lc 515:40-515:49 Type |
2780 | testdata/Builtins.lc 515:56-515:77 Type -> ImageKind | 4182 | testdata/Builtins.lc 515:56-515:77 Type -> ImageKind |
2781 | testdata/Builtins.lc 515:102-515:103 ImageKind | ImageKind -> ImageKind | Type -> ImageKind | 4183 | testdata/Builtins.lc 515:102-515:103 ImageKind | ImageKind -> ImageKind | Type -> ImageKind |
2782 | testdata/Builtins.lc 517:1-517:11 forall (a :: List ImageKind) (b :: Nat) (c :: List Type) . (a ~ map Type ImageKind FragmentOperationKind c) => HList c -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a | 4184 | testdata/Builtins.lc 517:1-517:11 forall (a :: List ImageKind) (b :: Nat) (c :: List Type) |
4185 | . (a ~ map Type ImageKind FragmentOperationKind c) | ||
4186 | => HList c | ||
4187 | -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a | ||
2783 | testdata/Builtins.lc 517:15-517:174 Type | 4188 | testdata/Builtins.lc 517:15-517:174 Type |
2784 | testdata/Builtins.lc 517:28-517:31 Type | 4189 | testdata/Builtins.lc 517:28-517:31 Type |
2785 | testdata/Builtins.lc 517:39-517:45 Type | 4190 | testdata/Builtins.lc 517:39-517:45 Type |
@@ -2824,10 +4229,20 @@ testdata/Builtins.lc 519:1-519:15 forall a b . a -> b -> (a, b) | |||
2824 | testdata/Builtins.lc 519:24-519:32 (_d, _b) | 4229 | testdata/Builtins.lc 519:24-519:32 (_d, _b) |
2825 | testdata/Builtins.lc 519:25-519:28 _f | 4230 | testdata/Builtins.lc 519:25-519:28 _f |
2826 | testdata/Builtins.lc 519:30-519:31 ((_b)) | _e | 4231 | testdata/Builtins.lc 519:30-519:31 ((_b)) | _e |
2827 | testdata/Builtins.lc 520:1-520:8 forall (a :: Nat) (b :: List Type) . FrameBuffer a (map Type ImageKind FragmentOperationKind b) -> (HList b, List (Fragment a (HList (imageType' (map Type ImageKind FragmentOperationKind b))))) -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) | 4232 | testdata/Builtins.lc 520:1-520:8 forall (a :: Nat) (b :: List Type) |
2828 | testdata/Builtins.lc 520:25-520:35 forall (a :: List ImageKind) (b :: Nat) (c :: List Type) . (a ~ map Type ImageKind FragmentOperationKind c) => HList c -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a | 4233 | . FrameBuffer a (map Type ImageKind FragmentOperationKind b) |
2829 | testdata/Builtins.lc 520:25-520:39 FragmentStream _b (HList (imageType' (map Type ImageKind FragmentOperationKind _a))) -> FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) -> FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) | 4234 | -> (HList b, List |
2830 | testdata/Builtins.lc 520:25-520:43 FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) -> FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) | 4235 | (Fragment a (HList (imageType' (map Type ImageKind FragmentOperationKind b))))) |
4236 | -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) | ||
4237 | testdata/Builtins.lc 520:25-520:35 forall (a :: List ImageKind) (b :: Nat) (c :: List Type) | ||
4238 | . (a ~ map Type ImageKind FragmentOperationKind c) | ||
4239 | => HList c | ||
4240 | -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a | ||
4241 | testdata/Builtins.lc 520:25-520:39 FragmentStream _b (HList (imageType' (map Type ImageKind FragmentOperationKind _a))) | ||
4242 | -> FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) | ||
4243 | -> FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) | ||
4244 | testdata/Builtins.lc 520:25-520:43 FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) | ||
4245 | -> FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) | ||
2831 | testdata/Builtins.lc 520:25-520:46 FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) | HList _c -> _b | _c -> HList _b -> _a | 4246 | testdata/Builtins.lc 520:25-520:46 FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) | HList _c -> _b | _c -> HList _b -> _a |
2832 | testdata/Builtins.lc 520:36-520:39 _m | 4247 | testdata/Builtins.lc 520:36-520:39 _m |
2833 | testdata/Builtins.lc 520:40-520:43 _h | 4248 | testdata/Builtins.lc 520:40-520:43 _h |
@@ -2835,7 +4250,9 @@ testdata/Builtins.lc 520:44-520:46 _n | |||
2835 | testdata/Builtins.lc 524:31-524:40 Type | 4250 | testdata/Builtins.lc 524:31-524:40 Type |
2836 | testdata/Builtins.lc 524:47-524:59 Type -> ImageKind | 4251 | testdata/Builtins.lc 524:47-524:59 Type -> ImageKind |
2837 | testdata/Builtins.lc 524:74-524:75 ImageKind | ImageKind -> ImageKind | Nat -> ImageKind -> ImageKind | Type -> ImageKind | 4252 | testdata/Builtins.lc 524:74-524:75 ImageKind | ImageKind -> ImageKind | Nat -> ImageKind -> ImageKind | Type -> ImageKind |
2838 | testdata/Builtins.lc 530:1-530:12 forall (a :: List Type) . sameLayerCounts a => HList a -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a) | 4253 | testdata/Builtins.lc 530:1-530:12 forall (a :: List Type) |
4254 | . sameLayerCounts a | ||
4255 | => HList a -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a) | ||
2839 | testdata/Builtins.lc 530:30-530:36 Type | 4256 | testdata/Builtins.lc 530:30-530:36 Type |
2840 | testdata/Builtins.lc 530:31-530:35 Type | 4257 | testdata/Builtins.lc 530:31-530:35 Type |
2841 | testdata/Builtins.lc 530:40-530:125 Type | 4258 | testdata/Builtins.lc 530:40-530:125 Type |
@@ -2859,17 +4276,40 @@ testdata/Builtins.lc 530:106-530:122 List Type -> List ImageKind | |||
2859 | testdata/Builtins.lc 530:106-530:124 List ImageKind | 4276 | testdata/Builtins.lc 530:106-530:124 List ImageKind |
2860 | testdata/Builtins.lc 530:110-530:122 Type -> ImageKind | 4277 | testdata/Builtins.lc 530:110-530:122 Type -> ImageKind |
2861 | testdata/Builtins.lc 530:123-530:124 List Type | 4278 | testdata/Builtins.lc 530:123-530:124 List Type |
2862 | testdata/Builtins.lc 532:1-532:11 forall (a :: List Type) . sameLayerCounts a => HList a -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a) | 4279 | testdata/Builtins.lc 532:1-532:11 forall (a :: List Type) |
2863 | testdata/Builtins.lc 532:14-532:25 forall (a :: List Type) . sameLayerCounts a => HList a -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a) | 4280 | . sameLayerCounts a |
2864 | testdata/Builtins.lc 534:1-534:11 forall (a :: Nat) (b :: List Type) c . HList b -> (c -> HList (imageType' (map Type ImageKind FragmentOperationKind b))) -> List (Vector a (Maybe (SimpleFragment c))) -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) | 4281 | => HList a -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a) |
2865 | testdata/Builtins.lc 534:34-534:44 forall (a :: List ImageKind) (b :: Nat) (c :: List Type) . (a ~ map Type ImageKind FragmentOperationKind c) => HList c -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a | 4282 | testdata/Builtins.lc 532:14-532:25 forall (a :: List Type) |
2866 | testdata/Builtins.lc 534:34-534:48 FragmentStream _b (HList (imageType' (map Type ImageKind FragmentOperationKind _a))) -> FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) -> FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) | 4283 | . sameLayerCounts a |
2867 | testdata/Builtins.lc 534:34-534:76 FrameBuffer _c (map Type ImageKind FragmentOperationKind _b) -> FrameBuffer _c (map Type ImageKind FragmentOperationKind _b) | 4284 | => HList a -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a) |
4285 | testdata/Builtins.lc 534:1-534:11 forall (a :: Nat) (b :: List Type) c | ||
4286 | . HList b | ||
4287 | -> (c -> HList (imageType' (map Type ImageKind FragmentOperationKind b))) | ||
4288 | -> List (Vector a (Maybe (SimpleFragment c))) | ||
4289 | -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) | ||
4290 | -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) | ||
4291 | testdata/Builtins.lc 534:34-534:44 forall (a :: List ImageKind) (b :: Nat) (c :: List Type) | ||
4292 | . (a ~ map Type ImageKind FragmentOperationKind c) | ||
4293 | => HList c | ||
4294 | -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a | ||
4295 | testdata/Builtins.lc 534:34-534:48 FragmentStream _b (HList (imageType' (map Type ImageKind FragmentOperationKind _a))) | ||
4296 | -> FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) | ||
4297 | -> FrameBuffer _b (map Type ImageKind FragmentOperationKind _a) | ||
4298 | testdata/Builtins.lc 534:34-534:76 FrameBuffer _c (map Type ImageKind FragmentOperationKind _b) | ||
4299 | -> FrameBuffer _c (map Type ImageKind FragmentOperationKind _b) | ||
2868 | testdata/Builtins.lc 534:34-534:79 FrameBuffer _c (map Type ImageKind FragmentOperationKind _b) | 4300 | testdata/Builtins.lc 534:34-534:79 FrameBuffer _c (map Type ImageKind FragmentOperationKind _b) |
2869 | testdata/Builtins.lc 534:45-534:48 _j | 4301 | testdata/Builtins.lc 534:45-534:48 _j |
2870 | testdata/Builtins.lc 534:50-534:62 forall a b (c :: Nat) . (a -> b) -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b))) | 4302 | testdata/Builtins.lc 534:50-534:62 forall a b (c :: Nat) |
2871 | testdata/Builtins.lc 534:50-534:70 List (Vector _a (Maybe (SimpleFragment _c))) -> List (Vector _a (Maybe (SimpleFragment _b))) | 4303 | . (a -> b) |
2872 | testdata/Builtins.lc 534:50-534:75 List (Vector _c (Maybe (SimpleFragment (HList (imageType' (map Type ImageKind FragmentOperationKind _b)))))) | 4304 | -> List (Vector c (Maybe (SimpleFragment a))) |
4305 | -> List (Vector c (Maybe (SimpleFragment b))) | ||
4306 | testdata/Builtins.lc 534:50-534:70 List (Vector _a (Maybe (SimpleFragment _c))) | ||
4307 | -> List (Vector _a (Maybe (SimpleFragment _b))) | ||
4308 | testdata/Builtins.lc 534:50-534:75 List | ||
4309 | (Vector | ||
4310 | _c | ||
4311 | (Maybe | ||
4312 | (SimpleFragment (HList (imageType' (map Type ImageKind FragmentOperationKind _b)))))) | ||
2873 | testdata/Builtins.lc 534:63-534:70 _k | 4313 | testdata/Builtins.lc 534:63-534:70 _k |
2874 | testdata/Builtins.lc 534:71-534:75 _g | 4314 | testdata/Builtins.lc 534:71-534:75 _g |
2875 | testdata/Builtins.lc 534:77-534:79 _e | 4315 | testdata/Builtins.lc 534:77-534:79 _e |
@@ -2886,7 +4326,8 @@ testdata/Builtins.lc 537:46-537:53 ImageKind -> Type | |||
2886 | testdata/Builtins.lc 537:46-537:55 Type | 4326 | testdata/Builtins.lc 537:46-537:55 Type |
2887 | testdata/Builtins.lc 537:52-537:53 _b | 4327 | testdata/Builtins.lc 537:52-537:53 _b |
2888 | testdata/Builtins.lc 537:54-537:55 ImageKind | 4328 | testdata/Builtins.lc 537:54-537:55 ImageKind |
2889 | testdata/Builtins.lc 538:1-538:14 FrameBuffer 1 ('Cons 'Depth ('Cons ('Color (Vec 4 Float)) 'Nil)) -> Image 1 ('Color (Vec 4 Float)) | 4329 | testdata/Builtins.lc 538:1-538:14 FrameBuffer 1 ('Cons 'Depth ('Cons ('Color (Vec 4 Float)) 'Nil)) |
4330 | -> Image 1 ('Color (Vec 4 Float)) | ||
2890 | testdata/Builtins.lc 538:24-538:35 Nat -> List ImageKind -> Type | 4331 | testdata/Builtins.lc 538:24-538:35 Nat -> List ImageKind -> Type |
2891 | testdata/Builtins.lc 538:24-538:37 List ImageKind -> Type | 4332 | testdata/Builtins.lc 538:24-538:37 List ImageKind -> Type |
2892 | testdata/Builtins.lc 538:24-538:70 Type | 4333 | testdata/Builtins.lc 538:24-538:70 Type |