summaryrefslogtreecommitdiff
path: root/testdata/Builtins.out
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-04-28 02:01:29 +0200
committerPéter Diviánszky <divipp@gmail.com>2016-04-28 02:01:29 +0200
commit7e9105793bd0d5ff7197a5860ac5339dea677e0e (patch)
treefa003b495b78a8b5cb5e6505c72a32bc6e80e1b3 /testdata/Builtins.out
parenta23ba9fced413f1b63640ba9bd81686a7eb59ee1 (diff)
switch to ansi-wl-pprint
Diffstat (limited to 'testdata/Builtins.out')
-rw-r--r--testdata/Builtins.out780
1 files changed, 390 insertions, 390 deletions
diff --git a/testdata/Builtins.out b/testdata/Builtins.out
index aefc3cae..55a1ceed 100644
--- a/testdata/Builtins.out
+++ b/testdata/Builtins.out
@@ -1,395 +1,395 @@
1main is not found 1main is not found
2------------ trace 2------------ trace
3id :: {a} -> a->a 3id :: {a} -> a->a
4'VecS :: Type -> 'Nat->Type 4'VecS :: Type -> 'Nat->Type
5V2 :: {a} -> a -> a -> 'VecS a 2 5V2 :: {a} -> a -> a -> 'VecS a 2
6V3 :: {a} -> a -> a -> a -> 'VecS a 3 6V3 :: {a} -> a -> a -> a -> 'VecS a 3
7V4 :: {a} -> a -> a -> a -> a -> 'VecS a 4 7V4 :: {a} -> a -> a -> a -> a -> 'VecS a 4
8'VecSCase :: {a} -> (b : (c:'Nat) -> 'VecS a c -> Type) -> ((d:a) -> (e:a) -> b 2 (V2 d e)) -> ((f:a) -> (g:a) -> (h:a) -> b 3 (V3 f g h)) -> ((i:a) -> (j:a) -> (k:a) -> (l:a) -> b 4 (V4 i j k l)) -> {m:'Nat} -> (n : 'VecS a m) -> b m n 8'VecSCase :: {a} -> (b : (c:'Nat) -> 'VecS a c -> Type) -> ((d:a) -> (e:a) -> b 2 (V2 d e)) -> ((f:a) -> (g:a) -> (h:a) -> b 3 (V3 f g h)) -> ((i:a) -> (j:a) -> (k:a) -> (l:a) -> b 4 (V4 i j k l)) -> {m:'Nat} -> (n : 'VecS a m) -> b m n
9match'VecS :: (a : Type->Type) -> ((b:Type) -> (c:'Nat) -> a ('VecS b c)) -> (d:Type) -> a d -> a d 9match'VecS :: (a : Type->Type) -> ((b:Type) -> (c:'Nat) -> a ('VecS b c)) -> (d:Type) -> a d -> a d
10mapVec :: {a} -> {b} -> {c:'Nat} -> (a->b) -> 'VecS a c -> 'VecS b c 10mapVec :: {a} -> {b} -> {c:'Nat} -> (a->b) -> 'VecS a c -> 'VecS b c
11'Vec :: 'Nat -> Type->Type 11'Vec :: 'Nat -> Type->Type
12'VecScalar :: 'Nat -> Type->Type 12'VecScalar :: 'Nat -> Type->Type
13'Mat :: 'Nat -> 'Nat -> Type->Type 13'Mat :: 'Nat -> 'Nat -> Type->Type
14M22F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 2 'Float 14M22F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 2 'Float
15M32F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 2 'Float 15M32F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 2 'Float
16M42F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 2 'Float 16M42F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 2 'Float
17M23F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 3 'Float 17M23F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 3 'Float
18M33F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 3 'Float 18M33F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 3 'Float
19M43F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 3 'Float 19M43F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 3 'Float
20M24F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 4 'Float 20M24F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 4 'Float
21M34F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 4 'Float 21M34F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 4 'Float
22M44F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 4 'Float 22M44F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 4 'Float
23'MatCase :: (a : (b:'Nat) -> (c:'Nat) -> (d:Type) -> 'Mat b c d -> Type) -> ((e : 'Vec 2 'Float) -> (f : 'Vec 2 'Float) -> a 2 2 'Float (M22F e f)) -> ((g : 'Vec 3 'Float) -> (h : 'Vec 3 'Float) -> a 3 2 'Float (M32F g h)) -> ((i : 'Vec 4 'Float) -> (j : 'Vec 4 'Float) -> a 4 2 'Float (M42F i j)) -> ((k : 'Vec 2 'Float) -> (l : 'Vec 2 'Float) -> (m : 'Vec 2 'Float) -> a 2 3 'Float (M23F k l m)) -> ((n : 'Vec 3 'Float) -> (o : 'Vec 3 'Float) -> (p : 'Vec 3 'Float) -> a 3 3 'Float (M33F n o p)) -> ((q : 'Vec 4 'Float) -> (r : 'Vec 4 'Float) -> (s : 'Vec 4 'Float) -> a 4 3 'Float (M43F q r s)) -> ((t : 'Vec 2 'Float) -> (u : 'Vec 2 'Float) -> (v : 'Vec 2 'Float) -> (w : 'Vec 2 'Float) -> a 2 4 'Float (M24F t u v w)) -> ((x : 'Vec 3 'Float) -> (y : 'Vec 3 'Float) -> (z : 'Vec 3 'Float) -> (a' : 'Vec 3 'Float) -> a 3 4 'Float (M34F x y z a')) -> ((b' : 'Vec 4 'Float) -> (c' : 'Vec 4 'Float) -> (d' : 'Vec 4 'Float) -> (e' : 'Vec 4 'Float) -> a 4 4 'Float (M44F b' c' d' e')) -> {f':'Nat} -> {g':'Nat} -> {h'} -> (i' : 'Mat f' g' h') -> a f' g' h' i' 23'MatCase :: (a : (b:'Nat) -> (c:'Nat) -> (d:Type) -> 'Mat b c d -> Type) -> ((e : 'Vec 2 'Float) -> (f : 'Vec 2 'Float) -> a 2 2 'Float (M22F e f)) -> ((g : 'Vec 3 'Float) -> (h : 'Vec 3 'Float) -> a 3 2 'Float (M32F g h)) -> ((i : 'Vec 4 'Float) -> (j : 'Vec 4 'Float) -> a 4 2 'Float (M42F i j)) -> ((k : 'Vec 2 'Float) -> (l : 'Vec 2 'Float) -> (m : 'Vec 2 'Float) -> a 2 3 'Float (M23F k l m)) -> ((n : 'Vec 3 'Float) -> (o : 'Vec 3 'Float) -> (p : 'Vec 3 'Float) -> a 3 3 'Float (M33F n o p)) -> ((q : 'Vec 4 'Float) -> (r : 'Vec 4 'Float) -> (s : 'Vec 4 'Float) -> a 4 3 'Float (M43F q r s)) -> ((t : 'Vec 2 'Float) -> (u : 'Vec 2 'Float) -> (v : 'Vec 2 'Float) -> (w : 'Vec 2 'Float) -> a 2 4 'Float (M24F t u v w)) -> ((x : 'Vec 3 'Float) -> (y : 'Vec 3 'Float) -> (z : 'Vec 3 'Float) -> (a' : 'Vec 3 'Float) -> a 3 4 'Float (M34F x y z a')) -> ((b' : 'Vec 4 'Float) -> (c' : 'Vec 4 'Float) -> (d' : 'Vec 4 'Float) -> (e' : 'Vec 4 'Float) -> a 4 4 'Float (M44F b' c' d' e')) -> {f':'Nat} -> {g':'Nat} -> {h'} -> (i' : 'Mat f' g' h') -> a f' g' h' i'
24match'Mat :: (a : Type->Type) -> ((b:'Nat) -> (c:'Nat) -> (d:Type) -> a ('Mat b c d)) -> (e:Type) -> a e -> a e 24match'Mat :: (a : Type->Type) -> ((b:'Nat) -> (c:'Nat) -> (d:Type) -> a ('Mat b c d)) -> (e:Type) -> a e -> a e
25'MatVecScalarElem :: Type->Type 25'MatVecScalarElem :: Type->Type
26'Signed :: Type->Type 26'Signed :: Type->Type
27'Component :: Type->Type 27'Component :: Type->Type
28zero :: {a} -> {_ : 'Component a}->a 28zero :: {a} -> {_ : 'Component a}->a
29one :: {a} -> {_ : 'Component a}->a 29one :: {a} -> {_ : 'Component a}->a
30'Integral :: Type->Type 30'Integral :: Type->Type
31'Floating :: Type->Type 31'Floating :: Type->Type
32PrimAdd :: {a} -> {_ : 'Num ('MatVecScalarElem a)} -> a -> a->a 32PrimAdd :: {a} -> {_ : 'Num ('MatVecScalarElem a)} -> a -> a->a
33PrimSub :: {a} -> {_ : 'Num ('MatVecScalarElem a)} -> a -> a->a 33PrimSub :: {a} -> {_ : 'Num ('MatVecScalarElem a)} -> a -> a->a
34PrimMul :: {a} -> {_ : 'Num ('MatVecScalarElem a)} -> a -> a->a 34PrimMul :: {a} -> {_ : 'Num ('MatVecScalarElem a)} -> a -> a->a
35PrimAddS :: {a} -> {b} -> {_ : a ~ 'MatVecScalarElem b} -> {_ : 'Num a} -> b -> a->b 35PrimAddS :: {a} -> {b} -> {_ : a ~ 'MatVecScalarElem b} -> {_ : 'Num a} -> b -> a->b
36PrimSubS :: {a} -> {b} -> {_ : a ~ 'MatVecScalarElem b} -> {_ : 'Num a} -> b -> a->b 36PrimSubS :: {a} -> {b} -> {_ : a ~ 'MatVecScalarElem b} -> {_ : 'Num a} -> b -> a->b
37PrimMulS :: {a} -> {b} -> {_ : a ~ 'MatVecScalarElem b} -> {_ : 'Num a} -> b -> a->b 37PrimMulS :: {a} -> {b} -> {_ : a ~ 'MatVecScalarElem b} -> {_ : 'Num a} -> b -> a->b
38PrimDiv :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b 38PrimDiv :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b
39PrimMod :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b 39PrimMod :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b
40PrimDivS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b 40PrimDivS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b
41PrimModS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b 41PrimModS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b
42PrimNeg :: {a} -> {_ : 'Signed ('MatVecScalarElem a)} -> a->a 42PrimNeg :: {a} -> {_ : 'Signed ('MatVecScalarElem a)} -> a->a
43PrimBAnd :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b 43PrimBAnd :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b
44PrimBOr :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b 44PrimBOr :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b
45PrimBXor :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b 45PrimBXor :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b
46PrimBAndS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b 46PrimBAndS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b
47PrimBOrS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b 47PrimBOrS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b
48PrimBXorS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b 48PrimBXorS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b
49PrimBNot :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b->b 49PrimBNot :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b->b
50PrimBShiftL :: {a} -> {b} -> {c:'Nat} -> {d} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> {_ : d ~ 'VecScalar c 'Word} -> b -> d->b 50PrimBShiftL :: {a} -> {b} -> {c:'Nat} -> {d} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> {_ : d ~ 'VecScalar c 'Word} -> b -> d->b
51PrimBShiftR :: {a} -> {b} -> {c:'Nat} -> {d} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> {_ : d ~ 'VecScalar c 'Word} -> b -> d->b 51PrimBShiftR :: {a} -> {b} -> {c:'Nat} -> {d} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> {_ : d ~ 'VecScalar c 'Word} -> b -> d->b
52PrimBShiftLS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> 'Word->b 52PrimBShiftLS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> 'Word->b
53PrimBShiftRS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> 'Word->b 53PrimBShiftRS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Integral a} -> {_ : b ~ 'VecScalar c a} -> b -> 'Word->b
54PrimAnd :: 'Bool -> 'Bool->'Bool 54PrimAnd :: 'Bool -> 'Bool->'Bool
55PrimOr :: 'Bool -> 'Bool->'Bool 55PrimOr :: 'Bool -> 'Bool->'Bool
56PrimXor :: 'Bool -> 'Bool->'Bool 56PrimXor :: 'Bool -> 'Bool->'Bool
57PrimNot :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Bool} -> a->a 57PrimNot :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Bool} -> a->a
58PrimAny :: {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool 58PrimAny :: {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool
59PrimAll :: {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool 59PrimAll :: {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool
60PrimACos :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 60PrimACos :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
61PrimACosH :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 61PrimACosH :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
62PrimASin :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 62PrimASin :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
63PrimASinH :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 63PrimASinH :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
64PrimATan :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 64PrimATan :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
65PrimATanH :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 65PrimATanH :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
66PrimCos :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 66PrimCos :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
67PrimCosH :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 67PrimCosH :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
68PrimDegrees :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 68PrimDegrees :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
69PrimRadians :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 69PrimRadians :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
70PrimSin :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 70PrimSin :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
71PrimSinH :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 71PrimSinH :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
72PrimTan :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 72PrimTan :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
73PrimTanH :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 73PrimTanH :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
74PrimExp :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 74PrimExp :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
75PrimLog :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 75PrimLog :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
76PrimExp2 :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 76PrimExp2 :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
77PrimLog2 :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 77PrimLog2 :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
78PrimSqrt :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 78PrimSqrt :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
79PrimInvSqrt :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 79PrimInvSqrt :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
80PrimPow :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a->a 80PrimPow :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a->a
81PrimATan2 :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a->a 81PrimATan2 :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a->a
82PrimFloor :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 82PrimFloor :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
83PrimTrunc :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 83PrimTrunc :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
84PrimRound :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 84PrimRound :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
85PrimRoundEven :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 85PrimRoundEven :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
86PrimCeil :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 86PrimCeil :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
87PrimFract :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 87PrimFract :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
88PrimMin :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b 88PrimMin :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b
89PrimMax :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b 89PrimMax :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> b->b
90PrimMinS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b 90PrimMinS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b
91PrimMaxS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b 91PrimMaxS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> a->b
92PrimIsNan :: {a} -> {b:'Nat} -> {c} -> {_ : a ~ 'VecScalar b 'Float} -> {_ : c ~ 'VecScalar b 'Bool} -> a->c 92PrimIsNan :: {a} -> {b:'Nat} -> {c} -> {_ : a ~ 'VecScalar b 'Float} -> {_ : c ~ 'VecScalar b 'Bool} -> a->c
93PrimIsInf :: {a} -> {b:'Nat} -> {c} -> {_ : a ~ 'VecScalar b 'Float} -> {_ : c ~ 'VecScalar b 'Bool} -> a->c 93PrimIsInf :: {a} -> {b:'Nat} -> {c} -> {_ : a ~ 'VecScalar b 'Float} -> {_ : c ~ 'VecScalar b 'Bool} -> a->c
94PrimAbs :: {a} -> {b} -> {c:'Nat} -> {_ : 'Signed a} -> {_ : b ~ 'VecScalar c a} -> b->b 94PrimAbs :: {a} -> {b} -> {c:'Nat} -> {_ : 'Signed a} -> {_ : b ~ 'VecScalar c a} -> b->b
95PrimSign :: {a} -> {b} -> {c:'Nat} -> {_ : 'Signed a} -> {_ : b ~ 'VecScalar c a} -> b->b 95PrimSign :: {a} -> {b} -> {c:'Nat} -> {_ : 'Signed a} -> {_ : b ~ 'VecScalar c a} -> b->b
96PrimModF :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->(a, a) 96PrimModF :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->(a, a)
97PrimClamp :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> b -> b->b 97PrimClamp :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> b -> b->b
98PrimClampS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> a -> a->b 98PrimClampS :: {a} -> {b} -> {c:'Nat} -> {_ : 'Num a} -> {_ : b ~ 'VecScalar c a} -> b -> a -> a->b
99PrimMix :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a -> a->a 99PrimMix :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a -> a->a
100PrimMixS :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a -> 'Float->a 100PrimMixS :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a -> 'Float->a
101PrimMixB :: {a} -> {b:'Nat} -> {c} -> {_ : a ~ 'VecScalar b 'Float} -> {_ : c ~ 'VecScalar b 'Bool} -> a -> a -> c->a 101PrimMixB :: {a} -> {b:'Nat} -> {c} -> {_ : a ~ 'VecScalar b 'Float} -> {_ : c ~ 'VecScalar b 'Bool} -> a -> a -> c->a
102PrimStep :: {a} -> {b:'Nat} -> {_ : a ~ 'VecS 'Float b} -> a -> a->a 102PrimStep :: {a} -> {b:'Nat} -> {_ : a ~ 'VecS 'Float b} -> a -> a->a
103PrimStepS :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> 'Float -> a->a 103PrimStepS :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> 'Float -> a->a
104PrimSmoothStep :: {a} -> {b:'Nat} -> {_ : a ~ 'VecS 'Float b} -> a -> a -> a->a 104PrimSmoothStep :: {a} -> {b:'Nat} -> {_ : a ~ 'VecS 'Float b} -> a -> a -> a->a
105PrimSmoothStepS :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> 'Float -> 'Float -> a->a 105PrimSmoothStepS :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> 'Float -> 'Float -> a->a
106PrimFloatBitsToInt :: {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Int 106PrimFloatBitsToInt :: {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Int
107PrimFloatBitsToUInt :: {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Word 107PrimFloatBitsToUInt :: {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Word
108PrimIntBitsToFloat :: {a:'Nat} -> 'VecScalar a 'Int -> 'VecScalar a 'Float 108PrimIntBitsToFloat :: {a:'Nat} -> 'VecScalar a 'Int -> 'VecScalar a 'Float
109PrimUIntBitsToFloat :: {a:'Nat} -> 'VecScalar a 'Word -> 'VecScalar a 'Float 109PrimUIntBitsToFloat :: {a:'Nat} -> 'VecScalar a 'Word -> 'VecScalar a 'Float
110PrimLength :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->'Float 110PrimLength :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->'Float
111PrimDistance :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a->'Float 111PrimDistance :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a->'Float
112PrimDot :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a->'Float 112PrimDot :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a->'Float
113PrimCross :: {a} -> {_ : a ~ 'VecS 'Float 3} -> a -> a->a 113PrimCross :: {a} -> {_ : a ~ 'VecS 'Float 3} -> a -> a->a
114PrimNormalize :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 114PrimNormalize :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
115PrimFaceForward :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a -> a->a 115PrimFaceForward :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a -> a->a
116PrimRefract :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a -> a->a 116PrimRefract :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a -> a->a
117PrimReflect :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a->a 117PrimReflect :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a -> a->a
118PrimTranspose :: {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'Mat b a c 118PrimTranspose :: {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'Mat b a c
119PrimDeterminant :: {a:'Nat} -> {b} -> 'Mat a a b -> 'Float 119PrimDeterminant :: {a:'Nat} -> {b} -> 'Mat a a b -> 'Float
120PrimInverse :: {a:'Nat} -> {b} -> 'Mat a a b -> 'Mat a a b 120PrimInverse :: {a:'Nat} -> {b} -> 'Mat a a b -> 'Mat a a b
121PrimOuterProduct :: {a:'Nat} -> {b} -> {c:'Nat} -> 'Vec a b -> 'Vec c b -> 'Mat c a b 121PrimOuterProduct :: {a:'Nat} -> {b} -> {c:'Nat} -> 'Vec a b -> 'Vec c b -> 'Mat c a b
122PrimMulMatVec :: {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'Vec b c -> 'Vec a c 122PrimMulMatVec :: {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'Vec b c -> 'Vec a c
123PrimMulVecMat :: {a:'Nat} -> {b} -> {c:'Nat} -> 'Vec a b -> 'Mat a c b -> 'Vec c b 123PrimMulVecMat :: {a:'Nat} -> {b} -> {c:'Nat} -> 'Vec a b -> 'Mat a c b -> 'Vec c b
124PrimMulMatMat :: {a:'Nat} -> {b:'Nat} -> {c} -> {d:'Nat} -> 'Mat a b c -> 'Mat b d c -> 'Mat a d c 124PrimMulMatMat :: {a:'Nat} -> {b:'Nat} -> {c} -> {d:'Nat} -> 'Mat a b c -> 'Mat b d c -> 'Mat a d c
125PrimLessThan :: {a} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : a ~ 'VecScalar b c} -> {_ : d ~ 'VecScalar b 'Bool} -> a -> a->d 125PrimLessThan :: {a} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : a ~ 'VecScalar b c} -> {_ : d ~ 'VecScalar b 'Bool} -> a -> a->d
126PrimLessThanEqual :: {a} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : a ~ 'VecScalar b c} -> {_ : d ~ 'VecScalar b 'Bool} -> a -> a->d 126PrimLessThanEqual :: {a} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : a ~ 'VecScalar b c} -> {_ : d ~ 'VecScalar b 'Bool} -> a -> a->d
127PrimGreaterThan :: {a} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : a ~ 'VecScalar b c} -> {_ : d ~ 'VecScalar b 'Bool} -> a -> a->d 127PrimGreaterThan :: {a} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : a ~ 'VecScalar b c} -> {_ : d ~ 'VecScalar b 'Bool} -> a -> a->d
128PrimGreaterThanEqual :: {a} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : a ~ 'VecScalar b c} -> {_ : d ~ 'VecScalar b 'Bool} -> a -> a->d 128PrimGreaterThanEqual :: {a} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : a ~ 'VecScalar b c} -> {_ : d ~ 'VecScalar b 'Bool} -> a -> a->d
129PrimEqualV :: {a} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : a ~ 'VecScalar b c} -> {_ : d ~ 'VecScalar b 'Bool} -> a -> a->d 129PrimEqualV :: {a} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : a ~ 'VecScalar b c} -> {_ : d ~ 'VecScalar b 'Bool} -> a -> a->d
130PrimNotEqualV :: {a} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : a ~ 'VecScalar b c} -> {_ : d ~ 'VecScalar b 'Bool} -> a -> a->d 130PrimNotEqualV :: {a} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : a ~ 'VecScalar b c} -> {_ : d ~ 'VecScalar b 'Bool} -> a -> a->d
131PrimEqual :: {a} -> {b} -> {_ : b ~ 'MatVecScalarElem a} -> a -> a->'Bool 131PrimEqual :: {a} -> {b} -> {_ : b ~ 'MatVecScalarElem a} -> a -> a->'Bool
132PrimNotEqual :: {a} -> {b} -> {_ : b ~ 'MatVecScalarElem a} -> a -> a->'Bool 132PrimNotEqual :: {a} -> {b} -> {_ : b ~ 'MatVecScalarElem a} -> a -> a->'Bool
133PrimDFdx :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 133PrimDFdx :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
134PrimDFdy :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 134PrimDFdy :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
135PrimFWidth :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a 135PrimFWidth :: {a} -> {b:'Nat} -> {_ : a ~ 'VecScalar b 'Float} -> a->a
136PrimNoise1 :: {a:'Nat} -> 'VecScalar a 'Float -> 'Float 136PrimNoise1 :: {a:'Nat} -> 'VecScalar a 'Float -> 'Float
137PrimNoise2 :: {a:'Nat} -> 'VecScalar a 'Float -> 'Vec 2 'Float 137PrimNoise2 :: {a:'Nat} -> 'VecScalar a 'Float -> 'Vec 2 'Float
138PrimNoise3 :: {a:'Nat} -> 'VecScalar a 'Float -> 'Vec 3 'Float 138PrimNoise3 :: {a:'Nat} -> 'VecScalar a 'Float -> 'Vec 3 'Float
139PrimNoise4 :: {a:'Nat} -> 'VecScalar a 'Float -> 'Vec 4 'Float 139PrimNoise4 :: {a:'Nat} -> 'VecScalar a 'Float -> 'Vec 4 'Float
140head :: {a} -> 'List a -> a 140head :: {a} -> 'List a -> a
141++ :: {a} -> 'List a -> 'List a -> 'List a 141++ :: {a} -> 'List a -> 'List a -> 'List a
142foldr :: {a} -> {b} -> (b -> a->a) -> a -> 'List b -> a 142foldr :: {a} -> {b} -> (b -> a->a) -> a -> 'List b -> a
143concat :: {a} -> 'List ('List a) -> 'List a 143concat :: {a} -> 'List ('List a) -> 'List a
144map :: {a} -> {b} -> (a->b) -> 'List a -> 'List b 144map :: {a} -> {b} -> (a->b) -> 'List a -> 'List b
145concatMap :: {a} -> {b} -> (a -> 'List b) -> 'List a -> 'List b 145concatMap :: {a} -> {b} -> (a -> 'List b) -> 'List a -> 'List b
146len :: {a} -> 'List a -> 'Int 146len :: {a} -> 'List a -> 'Int
147'Maybe :: Type->Type 147'Maybe :: Type->Type
148Nothing :: {a} -> 'Maybe a 148Nothing :: {a} -> 'Maybe a
149Just :: {a} -> a -> 'Maybe a 149Just :: {a} -> a -> 'Maybe a
150'MaybeCase :: {a} -> (b : 'Maybe a -> Type) -> b Nothing -> ((c:a) -> b (Just c)) -> (d : 'Maybe a) -> b d 150'MaybeCase :: {a} -> (b : 'Maybe a -> Type) -> b Nothing -> ((c:a) -> b (Just c)) -> (d : 'Maybe a) -> b d
151match'Maybe :: (a : Type->Type) -> ((b:Type) -> a ('Maybe b)) -> (c:Type) -> a c -> a c 151match'Maybe :: (a : Type->Type) -> ((b:Type) -> a ('Maybe b)) -> (c:Type) -> a c -> a c
152'Vector :: 'Nat -> Type->Type 152'Vector :: 'Nat -> Type->Type
153'VectorCase :: {a:'Nat} -> {b} -> (c : 'Vector a b -> Type) -> (d : 'Vector a b) -> c d 153'VectorCase :: {a:'Nat} -> {b} -> (c : 'Vector a b -> Type) -> (d : 'Vector a b) -> c d
154match'Vector :: (a : Type->Type) -> ((b:'Nat) -> (c:Type) -> a ('Vector b c)) -> (d:Type) -> a d -> a d 154match'Vector :: (a : Type->Type) -> ((b:'Nat) -> (c:Type) -> a ('Vector b c)) -> (d:Type) -> a d -> a d
155'PrimitiveType :: Type 155'PrimitiveType :: Type
156Triangle :: 'PrimitiveType 156Triangle :: 'PrimitiveType
157Line :: 'PrimitiveType 157Line :: 'PrimitiveType
158Point :: 'PrimitiveType 158Point :: 'PrimitiveType
159TriangleAdjacency :: 'PrimitiveType 159TriangleAdjacency :: 'PrimitiveType
160LineAdjacency :: 'PrimitiveType 160LineAdjacency :: 'PrimitiveType
161'PrimitiveTypeCase :: (a : 'PrimitiveType->Type) -> a Triangle -> a Line -> a Point -> a TriangleAdjacency -> a LineAdjacency -> (b:'PrimitiveType) -> a b 161'PrimitiveTypeCase :: (a : 'PrimitiveType->Type) -> a Triangle -> a Line -> a Point -> a TriangleAdjacency -> a LineAdjacency -> (b:'PrimitiveType) -> a b
162match'PrimitiveType :: (a : Type->Type) -> a 'PrimitiveType -> (b:Type) -> a b -> a b 162match'PrimitiveType :: (a : Type->Type) -> a 'PrimitiveType -> (b:Type) -> a b -> a b
163'Primitive :: Type -> 'PrimitiveType->Type 163'Primitive :: Type -> 'PrimitiveType->Type
164PrimPoint :: {a} -> a -> 'Primitive a Point 164PrimPoint :: {a} -> a -> 'Primitive a Point
165PrimLine :: {a} -> a -> a -> 'Primitive a Line 165PrimLine :: {a} -> a -> a -> 'Primitive a Line
166PrimTriangle :: {a} -> a -> a -> a -> 'Primitive a Triangle 166PrimTriangle :: {a} -> a -> a -> a -> 'Primitive a Triangle
167'PrimitiveCase :: {a} -> (b : (c:'PrimitiveType) -> 'Primitive a c -> Type) -> ((d:a) -> b Point (PrimPoint d)) -> ((e:a) -> (f:a) -> b Line (PrimLine e f)) -> ((g:a) -> (h:a) -> (i:a) -> b Triangle (PrimTriangle g h i)) -> {j:'PrimitiveType} -> (k : 'Primitive a j) -> b j k 167'PrimitiveCase :: {a} -> (b : (c:'PrimitiveType) -> 'Primitive a c -> Type) -> ((d:a) -> b Point (PrimPoint d)) -> ((e:a) -> (f:a) -> b Line (PrimLine e f)) -> ((g:a) -> (h:a) -> (i:a) -> b Triangle (PrimTriangle g h i)) -> {j:'PrimitiveType} -> (k : 'Primitive a j) -> b j k
168match'Primitive :: (a : Type->Type) -> ((b:Type) -> (c:'PrimitiveType) -> a ('Primitive b c)) -> (d:Type) -> a d -> a d 168match'Primitive :: (a : Type->Type) -> ((b:Type) -> (c:'PrimitiveType) -> a ('Primitive b c)) -> (d:Type) -> a d -> a d
169mapPrimitive :: {a} -> {b} -> {c:'PrimitiveType} -> (a->b) -> 'Primitive a c -> 'Primitive b c 169mapPrimitive :: {a} -> {b} -> {c:'PrimitiveType} -> (a->b) -> 'Primitive a c -> 'Primitive b c
170'PrimitiveStream :: 'PrimitiveType -> Type->Type 170'PrimitiveStream :: 'PrimitiveType -> Type->Type
171mapPrimitives :: {a} -> {b} -> {c:'PrimitiveType} -> (a->b) -> 'List ('Primitive a c) -> 'List ('Primitive b c) 171mapPrimitives :: {a} -> {b} -> {c:'PrimitiveType} -> (a->b) -> 'List ('Primitive a c) -> 'List ('Primitive b c)
172'ListElem :: Type->Type 172'ListElem :: Type->Type
173fetchArrays :: {a:'PrimitiveType} -> {b : 'List Type} -> {c : 'List Type} -> {_ : b ~ map Type Type 'ListElem c} -> 'HList c -> 'PrimitiveStream a ('HList b) 173fetchArrays :: {a:'PrimitiveType} -> {b : 'List Type} -> {c : 'List Type} -> {_ : b ~ map Type Type 'ListElem c} -> 'HList c -> 'PrimitiveStream a ('HList b)
174fetch :: {a:'PrimitiveType} -> {b : 'List Type} -> 'String -> 'HList b -> 'PrimitiveStream a ('HList b) 174fetch :: {a:'PrimitiveType} -> {b : 'List Type} -> 'String -> 'HList b -> 'PrimitiveStream a ('HList b)
175Attribute :: {a} -> 'String->a 175Attribute :: {a} -> 'String->a
176fetchStream :: {a:'PrimitiveType} -> {b : 'List Type} -> 'String -> (c : 'List 'String) -> {_ : len 'String c ~ len Type b} -> 'PrimitiveStream a ('HList b) 176fetchStream :: {a:'PrimitiveType} -> {b : 'List Type} -> 'String -> (c : 'List 'String) -> {_ : len 'String c ~ len Type b} -> 'PrimitiveStream a ('HList b)
177'SimpleFragment :: Type->Type 177'SimpleFragment :: Type->Type
178SimpleFragment :: {a} -> 'Vec 3 'Float -> a -> 'SimpleFragment a 178SimpleFragment :: {a} -> 'Vec 3 'Float -> a -> 'SimpleFragment a
179'SimpleFragmentCase :: {a} -> (b : 'SimpleFragment a -> Type) -> ((c : 'Vec 3 'Float) -> (d:a) -> b (SimpleFragment c d)) -> (e : 'SimpleFragment a) -> b e 179'SimpleFragmentCase :: {a} -> (b : 'SimpleFragment a -> Type) -> ((c : 'Vec 3 'Float) -> (d:a) -> b (SimpleFragment c d)) -> (e : 'SimpleFragment a) -> b e
180match'SimpleFragment :: (a : Type->Type) -> ((b:Type) -> a ('SimpleFragment b)) -> (c:Type) -> a c -> a c 180match'SimpleFragment :: (a : Type->Type) -> ((b:Type) -> a ('SimpleFragment b)) -> (c:Type) -> a c -> a c
181'Fragment :: 'Nat -> Type->Type 181'Fragment :: 'Nat -> Type->Type
182sFragmentCoords :: {a} -> 'SimpleFragment a -> 'VecS 'Float 3 182sFragmentCoords :: {a} -> 'SimpleFragment a -> 'VecS 'Float 3
183sFragmentValue :: {a} -> 'SimpleFragment a -> a 183sFragmentValue :: {a} -> 'SimpleFragment a -> a
184'FragmentStream :: 'Nat -> Type->Type 184'FragmentStream :: 'Nat -> Type->Type
185customizeDepth :: {a} -> {b:'Nat} -> (a->'Float) -> 'Fragment b a -> 'Fragment b a 185customizeDepth :: {a} -> {b:'Nat} -> (a->'Float) -> 'Fragment b a -> 'Fragment b a
186customizeDepths :: {a} -> {b:'Nat} -> (a->'Float) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) 186customizeDepths :: {a} -> {b:'Nat} -> (a->'Float) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) -> 'List ('Vector b ('Maybe ('SimpleFragment a)))
187filterFragment :: {a} -> {b:'Nat} -> (a->'Bool) -> 'Fragment b a -> 'Fragment b a 187filterFragment :: {a} -> {b:'Nat} -> (a->'Bool) -> 'Fragment b a -> 'Fragment b a
188filterFragments :: {a} -> {b:'Nat} -> (a->'Bool) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) 188filterFragments :: {a} -> {b:'Nat} -> (a->'Bool) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) -> 'List ('Vector b ('Maybe ('SimpleFragment a)))
189mapFragment :: {a} -> {b} -> {c:'Nat} -> (a->b) -> 'Fragment c a -> 'Fragment c b 189mapFragment :: {a} -> {b} -> {c:'Nat} -> (a->b) -> 'Fragment c a -> 'Fragment c b
190mapFragments :: {a} -> {b} -> {c:'Nat} -> (a->b) -> 'List ('Vector c ('Maybe ('SimpleFragment a))) -> 'List ('Vector c ('Maybe ('SimpleFragment b))) 190mapFragments :: {a} -> {b} -> {c:'Nat} -> (a->b) -> 'List ('Vector c ('Maybe ('SimpleFragment a))) -> 'List ('Vector c ('Maybe ('SimpleFragment b)))
191'ImageKind :: Type 191'ImageKind :: Type
192Color :: Type->'ImageKind 192Color :: Type->'ImageKind
193Depth :: 'ImageKind 193Depth :: 'ImageKind
194Stencil :: 'ImageKind 194Stencil :: 'ImageKind
195'ImageKindCase :: (a : 'ImageKind->Type) -> ((b:Type) -> a (Color b)) -> a Depth -> a Stencil -> (c:'ImageKind) -> a c 195'ImageKindCase :: (a : 'ImageKind->Type) -> ((b:Type) -> a (Color b)) -> a Depth -> a Stencil -> (c:'ImageKind) -> a c
196match'ImageKind :: (a : Type->Type) -> a 'ImageKind -> (b:Type) -> a b -> a b 196match'ImageKind :: (a : Type->Type) -> a 'ImageKind -> (b:Type) -> a b -> a b
197imageType :: 'ImageKind->Type 197imageType :: 'ImageKind->Type
198'Image :: 'Nat -> 'ImageKind->Type 198'Image :: 'Nat -> 'ImageKind->Type
199'ImageCase :: {a:'Nat} -> {b:'ImageKind} -> (c : 'Image a b -> Type) -> (d : 'Image a b) -> c d 199'ImageCase :: {a:'Nat} -> {b:'ImageKind} -> (c : 'Image a b -> Type) -> (d : 'Image a b) -> c d
200match'Image :: (a : Type->Type) -> ((b:'Nat) -> (c:'ImageKind) -> a ('Image b c)) -> (d:Type) -> a d -> a d 200match'Image :: (a : Type->Type) -> ((b:'Nat) -> (c:'ImageKind) -> a ('Image b c)) -> (d:Type) -> a d -> a d
201ColorImage :: {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : d ~ 'VecScalar b c} -> d -> 'Image a (Color d) 201ColorImage :: {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : d ~ 'VecScalar b c} -> d -> 'Image a (Color d)
202DepthImage :: {a:'Nat} -> 'Float -> 'Image a Depth 202DepthImage :: {a:'Nat} -> 'Float -> 'Image a Depth
203StencilImage :: {a:'Nat} -> 'Int -> 'Image a Stencil 203StencilImage :: {a:'Nat} -> 'Int -> 'Image a Stencil
204emptyDepthImage :: 'Float -> 'Image 1 Depth 204emptyDepthImage :: 'Float -> 'Image 1 Depth
205emptyColorImage :: {a:'Nat} -> {b} -> {c} -> {_ : 'Num b} -> {_ : c ~ 'VecScalar a b} -> c -> 'Image 1 (Color c) 205emptyColorImage :: {a:'Nat} -> {b} -> {c} -> {_ : 'Num b} -> {_ : c ~ 'VecScalar a b} -> c -> 'Image 1 (Color c)
206'Swizz :: Type 206'Swizz :: Type
207Sx :: 'Swizz 207Sx :: 'Swizz
208Sy :: 'Swizz 208Sy :: 'Swizz
209Sz :: 'Swizz 209Sz :: 'Swizz
210Sw :: 'Swizz 210Sw :: 'Swizz
211'SwizzCase :: (a : 'Swizz->Type) -> a Sx -> a Sy -> a Sz -> a Sw -> (b:'Swizz) -> a b 211'SwizzCase :: (a : 'Swizz->Type) -> a Sx -> a Sy -> a Sz -> a Sw -> (b:'Swizz) -> a b
212match'Swizz :: (a : Type->Type) -> a 'Swizz -> (b:Type) -> a b -> a b 212match'Swizz :: (a : Type->Type) -> a 'Swizz -> (b:Type) -> a b -> a b
213swizzscalar :: {a} -> {b:'Nat} -> 'Vec b a -> 'Swizz->a 213swizzscalar :: {a} -> {b:'Nat} -> 'Vec b a -> 'Swizz->a
214definedVec :: {a} -> {b:'Nat} -> 'Vec b a -> 'Bool 214definedVec :: {a} -> {b:'Nat} -> 'Vec b a -> 'Bool
215swizzvector :: {a} -> {b:'Nat} -> {c:'Nat} -> 'Vec b a -> 'Vec c 'Swizz -> 'VecS a c 215swizzvector :: {a} -> {b:'Nat} -> {c:'Nat} -> 'Vec b a -> 'Vec c 'Swizz -> 'VecS a c
216'BlendingFactor :: Type 216'BlendingFactor :: Type
217ZeroBF :: 'BlendingFactor 217ZeroBF :: 'BlendingFactor
218OneBF :: 'BlendingFactor 218OneBF :: 'BlendingFactor
219SrcColor :: 'BlendingFactor 219SrcColor :: 'BlendingFactor
220OneMinusSrcColor :: 'BlendingFactor 220OneMinusSrcColor :: 'BlendingFactor
221DstColor :: 'BlendingFactor 221DstColor :: 'BlendingFactor
222OneMinusDstColor :: 'BlendingFactor 222OneMinusDstColor :: 'BlendingFactor
223SrcAlpha :: 'BlendingFactor 223SrcAlpha :: 'BlendingFactor
224OneMinusSrcAlpha :: 'BlendingFactor 224OneMinusSrcAlpha :: 'BlendingFactor
225DstAlpha :: 'BlendingFactor 225DstAlpha :: 'BlendingFactor
226OneMinusDstAlpha :: 'BlendingFactor 226OneMinusDstAlpha :: 'BlendingFactor
227ConstantColor :: 'BlendingFactor 227ConstantColor :: 'BlendingFactor
228OneMinusConstantColor :: 'BlendingFactor 228OneMinusConstantColor :: 'BlendingFactor
229ConstantAlpha :: 'BlendingFactor 229ConstantAlpha :: 'BlendingFactor
230OneMinusConstantAlpha :: 'BlendingFactor 230OneMinusConstantAlpha :: 'BlendingFactor
231SrcAlphaSaturate :: 'BlendingFactor 231SrcAlphaSaturate :: 'BlendingFactor
232'BlendingFactorCase :: (a : 'BlendingFactor->Type) -> a ZeroBF -> a OneBF -> a SrcColor -> a OneMinusSrcColor -> a DstColor -> a OneMinusDstColor -> a SrcAlpha -> a OneMinusSrcAlpha -> a DstAlpha -> a OneMinusDstAlpha -> a ConstantColor -> a OneMinusConstantColor -> a ConstantAlpha -> a OneMinusConstantAlpha -> a SrcAlphaSaturate -> (b:'BlendingFactor) -> a b 232'BlendingFactorCase :: (a : 'BlendingFactor->Type) -> a ZeroBF -> a OneBF -> a SrcColor -> a OneMinusSrcColor -> a DstColor -> a OneMinusDstColor -> a SrcAlpha -> a OneMinusSrcAlpha -> a DstAlpha -> a OneMinusDstAlpha -> a ConstantColor -> a OneMinusConstantColor -> a ConstantAlpha -> a OneMinusConstantAlpha -> a SrcAlphaSaturate -> (b:'BlendingFactor) -> a b
233match'BlendingFactor :: (a : Type->Type) -> a 'BlendingFactor -> (b:Type) -> a b -> a b 233match'BlendingFactor :: (a : Type->Type) -> a 'BlendingFactor -> (b:Type) -> a b -> a b
234'BlendEquation :: Type 234'BlendEquation :: Type
235FuncAdd :: 'BlendEquation 235FuncAdd :: 'BlendEquation
236FuncSubtract :: 'BlendEquation 236FuncSubtract :: 'BlendEquation
237FuncReverseSubtract :: 'BlendEquation 237FuncReverseSubtract :: 'BlendEquation
238Min :: 'BlendEquation 238Min :: 'BlendEquation
239Max :: 'BlendEquation 239Max :: 'BlendEquation
240'BlendEquationCase :: (a : 'BlendEquation->Type) -> a FuncAdd -> a FuncSubtract -> a FuncReverseSubtract -> a Min -> a Max -> (b:'BlendEquation) -> a b 240'BlendEquationCase :: (a : 'BlendEquation->Type) -> a FuncAdd -> a FuncSubtract -> a FuncReverseSubtract -> a Min -> a Max -> (b:'BlendEquation) -> a b
241match'BlendEquation :: (a : Type->Type) -> a 'BlendEquation -> (b:Type) -> a b -> a b 241match'BlendEquation :: (a : Type->Type) -> a 'BlendEquation -> (b:Type) -> a b -> a b
242'LogicOperation :: Type 242'LogicOperation :: Type
243Clear :: 'LogicOperation 243Clear :: 'LogicOperation
244And :: 'LogicOperation 244And :: 'LogicOperation
245AndReverse :: 'LogicOperation 245AndReverse :: 'LogicOperation
246Copy :: 'LogicOperation 246Copy :: 'LogicOperation
247AndInverted :: 'LogicOperation 247AndInverted :: 'LogicOperation
248Noop :: 'LogicOperation 248Noop :: 'LogicOperation
249Xor :: 'LogicOperation 249Xor :: 'LogicOperation
250Or :: 'LogicOperation 250Or :: 'LogicOperation
251Nor :: 'LogicOperation 251Nor :: 'LogicOperation
252Equiv :: 'LogicOperation 252Equiv :: 'LogicOperation
253Invert :: 'LogicOperation 253Invert :: 'LogicOperation
254OrReverse :: 'LogicOperation 254OrReverse :: 'LogicOperation
255CopyInverted :: 'LogicOperation 255CopyInverted :: 'LogicOperation
256OrInverted :: 'LogicOperation 256OrInverted :: 'LogicOperation
257Nand :: 'LogicOperation 257Nand :: 'LogicOperation
258Set :: 'LogicOperation 258Set :: 'LogicOperation
259'LogicOperationCase :: (a : 'LogicOperation->Type) -> a Clear -> a And -> a AndReverse -> a Copy -> a AndInverted -> a Noop -> a Xor -> a Or -> a Nor -> a Equiv -> a Invert -> a OrReverse -> a CopyInverted -> a OrInverted -> a Nand -> a Set -> (b:'LogicOperation) -> a b 259'LogicOperationCase :: (a : 'LogicOperation->Type) -> a Clear -> a And -> a AndReverse -> a Copy -> a AndInverted -> a Noop -> a Xor -> a Or -> a Nor -> a Equiv -> a Invert -> a OrReverse -> a CopyInverted -> a OrInverted -> a Nand -> a Set -> (b:'LogicOperation) -> a b
260match'LogicOperation :: (a : Type->Type) -> a 'LogicOperation -> (b:Type) -> a b -> a b 260match'LogicOperation :: (a : Type->Type) -> a 'LogicOperation -> (b:Type) -> a b -> a b
261'StencilOperation :: Type 261'StencilOperation :: Type
262OpZero :: 'StencilOperation 262OpZero :: 'StencilOperation
263OpKeep :: 'StencilOperation 263OpKeep :: 'StencilOperation
264OpReplace :: 'StencilOperation 264OpReplace :: 'StencilOperation
265OpIncr :: 'StencilOperation 265OpIncr :: 'StencilOperation
266OpIncrWrap :: 'StencilOperation 266OpIncrWrap :: 'StencilOperation
267OpDecr :: 'StencilOperation 267OpDecr :: 'StencilOperation
268OpDecrWrap :: 'StencilOperation 268OpDecrWrap :: 'StencilOperation
269OpInvert :: 'StencilOperation 269OpInvert :: 'StencilOperation
270'StencilOperationCase :: (a : 'StencilOperation->Type) -> a OpZero -> a OpKeep -> a OpReplace -> a OpIncr -> a OpIncrWrap -> a OpDecr -> a OpDecrWrap -> a OpInvert -> (b:'StencilOperation) -> a b 270'StencilOperationCase :: (a : 'StencilOperation->Type) -> a OpZero -> a OpKeep -> a OpReplace -> a OpIncr -> a OpIncrWrap -> a OpDecr -> a OpDecrWrap -> a OpInvert -> (b:'StencilOperation) -> a b
271match'StencilOperation :: (a : Type->Type) -> a 'StencilOperation -> (b:Type) -> a b -> a b 271match'StencilOperation :: (a : Type->Type) -> a 'StencilOperation -> (b:Type) -> a b -> a b
272'ComparisonFunction :: Type 272'ComparisonFunction :: Type
273Never :: 'ComparisonFunction 273Never :: 'ComparisonFunction
274Less :: 'ComparisonFunction 274Less :: 'ComparisonFunction
275Equal :: 'ComparisonFunction 275Equal :: 'ComparisonFunction
276Lequal :: 'ComparisonFunction 276Lequal :: 'ComparisonFunction
277Greater :: 'ComparisonFunction 277Greater :: 'ComparisonFunction
278Notequal :: 'ComparisonFunction 278Notequal :: 'ComparisonFunction
279Gequal :: 'ComparisonFunction 279Gequal :: 'ComparisonFunction
280Always :: 'ComparisonFunction 280Always :: 'ComparisonFunction
281'ComparisonFunctionCase :: (a : 'ComparisonFunction->Type) -> a Never -> a Less -> a Equal -> a Lequal -> a Greater -> a Notequal -> a Gequal -> a Always -> (b:'ComparisonFunction) -> a b 281'ComparisonFunctionCase :: (a : 'ComparisonFunction->Type) -> a Never -> a Less -> a Equal -> a Lequal -> a Greater -> a Notequal -> a Gequal -> a Always -> (b:'ComparisonFunction) -> a b
282match'ComparisonFunction :: (a : Type->Type) -> a 'ComparisonFunction -> (b:Type) -> a b -> a b 282match'ComparisonFunction :: (a : Type->Type) -> a 'ComparisonFunction -> (b:Type) -> a b -> a b
283'ProvokingVertex :: Type 283'ProvokingVertex :: Type
284LastVertex :: 'ProvokingVertex 284LastVertex :: 'ProvokingVertex
285FirstVertex :: 'ProvokingVertex 285FirstVertex :: 'ProvokingVertex
286'ProvokingVertexCase :: (a : 'ProvokingVertex->Type) -> a LastVertex -> a FirstVertex -> (b:'ProvokingVertex) -> a b 286'ProvokingVertexCase :: (a : 'ProvokingVertex->Type) -> a LastVertex -> a FirstVertex -> (b:'ProvokingVertex) -> a b
287match'ProvokingVertex :: (a : Type->Type) -> a 'ProvokingVertex -> (b:Type) -> a b -> a b 287match'ProvokingVertex :: (a : Type->Type) -> a 'ProvokingVertex -> (b:Type) -> a b -> a b
288'CullMode :: Type 288'CullMode :: Type
289CullFront :: 'CullMode 289CullFront :: 'CullMode
290CullBack :: 'CullMode 290CullBack :: 'CullMode
291CullNone :: 'CullMode 291CullNone :: 'CullMode
292'CullModeCase :: (a : 'CullMode->Type) -> a CullFront -> a CullBack -> a CullNone -> (b:'CullMode) -> a b 292'CullModeCase :: (a : 'CullMode->Type) -> a CullFront -> a CullBack -> a CullNone -> (b:'CullMode) -> a b
293match'CullMode :: (a : Type->Type) -> a 'CullMode -> (b:Type) -> a b -> a b 293match'CullMode :: (a : Type->Type) -> a 'CullMode -> (b:Type) -> a b -> a b
294'PointSize :: Type->Type 294'PointSize :: Type->Type
295PointSize :: {a} -> 'Float -> 'PointSize a 295PointSize :: {a} -> 'Float -> 'PointSize a
296ProgramPointSize :: {a} -> (a->'Float) -> 'PointSize a 296ProgramPointSize :: {a} -> (a->'Float) -> 'PointSize a
297'PointSizeCase :: {a} -> (b : 'PointSize a -> Type) -> ((c:'Float) -> b (PointSize c)) -> ((d : a->'Float) -> b (ProgramPointSize d)) -> (e : 'PointSize a) -> b e 297'PointSizeCase :: {a} -> (b : 'PointSize a -> Type) -> ((c:'Float) -> b (PointSize c)) -> ((d : a->'Float) -> b (ProgramPointSize d)) -> (e : 'PointSize a) -> b e
298match'PointSize :: (a : Type->Type) -> ((b:Type) -> a ('PointSize b)) -> (c:Type) -> a c -> a c 298match'PointSize :: (a : Type->Type) -> ((b:Type) -> a ('PointSize b)) -> (c:Type) -> a c -> a c
299'PolygonMode :: Type->Type 299'PolygonMode :: Type->Type
300PolygonFill :: {a} -> 'PolygonMode a 300PolygonFill :: {a} -> 'PolygonMode a
301PolygonPoint :: {a} -> 'PointSize a -> 'PolygonMode a 301PolygonPoint :: {a} -> 'PointSize a -> 'PolygonMode a
302PolygonLine :: {a} -> 'Float -> 'PolygonMode a 302PolygonLine :: {a} -> 'Float -> 'PolygonMode a
303'PolygonModeCase :: {a} -> (b : 'PolygonMode a -> Type) -> b PolygonFill -> ((c : 'PointSize a) -> b (PolygonPoint c)) -> ((d:'Float) -> b (PolygonLine d)) -> (e : 'PolygonMode a) -> b e 303'PolygonModeCase :: {a} -> (b : 'PolygonMode a -> Type) -> b PolygonFill -> ((c : 'PointSize a) -> b (PolygonPoint c)) -> ((d:'Float) -> b (PolygonLine d)) -> (e : 'PolygonMode a) -> b e
304match'PolygonMode :: (a : Type->Type) -> ((b:Type) -> a ('PolygonMode b)) -> (c:Type) -> a c -> a c 304match'PolygonMode :: (a : Type->Type) -> ((b:Type) -> a ('PolygonMode b)) -> (c:Type) -> a c -> a c
305'PolygonOffset :: Type 305'PolygonOffset :: Type
306NoOffset :: 'PolygonOffset 306NoOffset :: 'PolygonOffset
307Offset :: 'Float -> 'Float->'PolygonOffset 307Offset :: 'Float -> 'Float->'PolygonOffset
308'PolygonOffsetCase :: (a : 'PolygonOffset->Type) -> a NoOffset -> ((b:'Float) -> (c:'Float) -> a (Offset b c)) -> (d:'PolygonOffset) -> a d 308'PolygonOffsetCase :: (a : 'PolygonOffset->Type) -> a NoOffset -> ((b:'Float) -> (c:'Float) -> a (Offset b c)) -> (d:'PolygonOffset) -> a d
309match'PolygonOffset :: (a : Type->Type) -> a 'PolygonOffset -> (b:Type) -> a b -> a b 309match'PolygonOffset :: (a : Type->Type) -> a 'PolygonOffset -> (b:Type) -> a b -> a b
310'PointSpriteCoordOrigin :: Type 310'PointSpriteCoordOrigin :: Type
311LowerLeft :: 'PointSpriteCoordOrigin 311LowerLeft :: 'PointSpriteCoordOrigin
312UpperLeft :: 'PointSpriteCoordOrigin 312UpperLeft :: 'PointSpriteCoordOrigin
313'PointSpriteCoordOriginCase :: (a : 'PointSpriteCoordOrigin->Type) -> a LowerLeft -> a UpperLeft -> (b:'PointSpriteCoordOrigin) -> a b 313'PointSpriteCoordOriginCase :: (a : 'PointSpriteCoordOrigin->Type) -> a LowerLeft -> a UpperLeft -> (b:'PointSpriteCoordOrigin) -> a b
314match'PointSpriteCoordOrigin :: (a : Type->Type) -> a 'PointSpriteCoordOrigin -> (b:Type) -> a b -> a b 314match'PointSpriteCoordOrigin :: (a : Type->Type) -> a 'PointSpriteCoordOrigin -> (b:Type) -> a b -> a b
315primTexture :: () -> 'Vec 2 'Float -> 'Vec 4 'Float 315primTexture :: () -> 'Vec 2 'Float -> 'Vec 4 'Float
316Uniform :: {a} -> 'String->a 316Uniform :: {a} -> 'String->a
317'RasterContext :: Type -> 'PrimitiveType->Type 317'RasterContext :: Type -> 'PrimitiveType->Type
318TriangleCtx :: {a} -> 'CullMode -> 'PolygonMode a -> 'PolygonOffset -> 'ProvokingVertex -> 'RasterContext a Triangle 318TriangleCtx :: {a} -> 'CullMode -> 'PolygonMode a -> 'PolygonOffset -> 'ProvokingVertex -> 'RasterContext a Triangle
319PointCtx :: {a} -> 'PointSize a -> 'Float -> 'PointSpriteCoordOrigin -> 'RasterContext a Point 319PointCtx :: {a} -> 'PointSize a -> 'Float -> 'PointSpriteCoordOrigin -> 'RasterContext a Point
320LineCtx :: {a} -> 'Float -> 'ProvokingVertex -> 'RasterContext a Line 320LineCtx :: {a} -> 'Float -> 'ProvokingVertex -> 'RasterContext a Line
321'RasterContextCase :: {a} -> (b : (c:'PrimitiveType) -> 'RasterContext a c -> Type) -> ((d:'CullMode) -> (e : 'PolygonMode a) -> (f:'PolygonOffset) -> (g:'ProvokingVertex) -> b Triangle (TriangleCtx d e f g)) -> ((h : 'PointSize a) -> (i:'Float) -> (j:'PointSpriteCoordOrigin) -> b Point (PointCtx h i j)) -> ((k:'Float) -> (l:'ProvokingVertex) -> b Line (LineCtx k l)) -> {m:'PrimitiveType} -> (n : 'RasterContext a m) -> b m n 321'RasterContextCase :: {a} -> (b : (c:'PrimitiveType) -> 'RasterContext a c -> Type) -> ((d:'CullMode) -> (e : 'PolygonMode a) -> (f:'PolygonOffset) -> (g:'ProvokingVertex) -> b Triangle (TriangleCtx d e f g)) -> ((h : 'PointSize a) -> (i:'Float) -> (j:'PointSpriteCoordOrigin) -> b Point (PointCtx h i j)) -> ((k:'Float) -> (l:'ProvokingVertex) -> b Line (LineCtx k l)) -> {m:'PrimitiveType} -> (n : 'RasterContext a m) -> b m n
322match'RasterContext :: (a : Type->Type) -> ((b:Type) -> (c:'PrimitiveType) -> a ('RasterContext b c)) -> (d:Type) -> a d -> a d 322match'RasterContext :: (a : Type->Type) -> ((b:Type) -> (c:'PrimitiveType) -> a ('RasterContext b c)) -> (d:Type) -> a d -> a d
323'Blending :: Type->Type 323'Blending :: Type->Type
324NoBlending :: {a} -> 'Blending a 324NoBlending :: {a} -> 'Blending a
325BlendLogicOp :: {a} -> {_ : 'Integral a} -> 'LogicOperation -> 'Blending a 325BlendLogicOp :: {a} -> {_ : 'Integral a} -> 'LogicOperation -> 'Blending a
326Blend :: ('BlendEquation, 'BlendEquation) -> (('BlendingFactor, 'BlendingFactor), ('BlendingFactor, 'BlendingFactor)) -> 'Vec 4 'Float -> 'Blending 'Float 326Blend :: ('BlendEquation, 'BlendEquation) -> (('BlendingFactor, 'BlendingFactor), ('BlendingFactor, 'BlendingFactor)) -> 'Vec 4 'Float -> 'Blending 'Float
327'BlendingCase :: (a : (b:Type) -> 'Blending b -> Type) -> ({c} -> a c (NoBlending c)) -> ({d} -> {e : 'Integral d} -> (f:'LogicOperation) -> a d (BlendLogicOp d e f)) -> ((g:('BlendEquation, 'BlendEquation)) -> (h:(('BlendingFactor, 'BlendingFactor), ('BlendingFactor, 'BlendingFactor))) -> (i : 'Vec 4 'Float) -> a 'Float (Blend g h i)) -> {j} -> (k : 'Blending j) -> a j k 327'BlendingCase :: (a : (b:Type) -> 'Blending b -> Type) -> ({c} -> a c (NoBlending c)) -> ({d} -> {e : 'Integral d} -> (f:'LogicOperation) -> a d (BlendLogicOp d e f)) -> ((g:('BlendEquation, 'BlendEquation)) -> (h:(('BlendingFactor, 'BlendingFactor), ('BlendingFactor, 'BlendingFactor))) -> (i : 'Vec 4 'Float) -> a 'Float (Blend g h i)) -> {j} -> (k : 'Blending j) -> a j k
328match'Blending :: (a : Type->Type) -> ((b:Type) -> a ('Blending b)) -> (c:Type) -> a c -> a c 328match'Blending :: (a : Type->Type) -> ((b:Type) -> a ('Blending b)) -> (c:Type) -> a c -> a c
329'StencilTests :: Type 329'StencilTests :: Type
330'StencilTestsCase :: (a : 'StencilTests->Type) -> (b:'StencilTests) -> a b 330'StencilTestsCase :: (a : 'StencilTests->Type) -> (b:'StencilTests) -> a b
331match'StencilTests :: (a : Type->Type) -> a 'StencilTests -> (b:Type) -> a b -> a b 331match'StencilTests :: (a : Type->Type) -> a 'StencilTests -> (b:Type) -> a b -> a b
332'StencilOps :: Type 332'StencilOps :: Type
333'StencilOpsCase :: (a : 'StencilOps->Type) -> (b:'StencilOps) -> a b 333'StencilOpsCase :: (a : 'StencilOps->Type) -> (b:'StencilOps) -> a b
334match'StencilOps :: (a : Type->Type) -> a 'StencilOps -> (b:Type) -> a b -> a b 334match'StencilOps :: (a : Type->Type) -> a 'StencilOps -> (b:Type) -> a b -> a b
335'FragmentOperation :: 'ImageKind->Type 335'FragmentOperation :: 'ImageKind->Type
336ColorOp :: {a} -> {b:'Nat} -> {_ : 'Num a} -> 'Blending a -> 'VecScalar b 'Bool -> 'FragmentOperation (Color ('VecScalar b a)) 336ColorOp :: {a} -> {b:'Nat} -> {_ : 'Num a} -> 'Blending a -> 'VecScalar b 'Bool -> 'FragmentOperation (Color ('VecScalar b a))
337DepthOp :: 'ComparisonFunction -> 'Bool -> 'FragmentOperation Depth 337DepthOp :: 'ComparisonFunction -> 'Bool -> 'FragmentOperation Depth
338StencilOp :: 'StencilTests -> 'StencilOps -> 'StencilOps -> 'FragmentOperation Stencil 338StencilOp :: 'StencilTests -> 'StencilOps -> 'StencilOps -> 'FragmentOperation Stencil
339'FragmentOperationCase :: (a : (b:'ImageKind) -> 'FragmentOperation b -> Type) -> ({c} -> {d:'Nat} -> {e : 'Num c} -> (f : 'Blending c) -> (g : 'VecScalar d 'Bool) -> a (Color ('VecScalar d c)) (ColorOp c d e f g)) -> ((h:'ComparisonFunction) -> (i:'Bool) -> a Depth (DepthOp h i)) -> ((j:'StencilTests) -> (k:'StencilOps) -> (l:'StencilOps) -> a Stencil (StencilOp j k l)) -> {m:'ImageKind} -> (n : 'FragmentOperation m) -> a m n 339'FragmentOperationCase :: (a : (b:'ImageKind) -> 'FragmentOperation b -> Type) -> ({c} -> {d:'Nat} -> {e : 'Num c} -> (f : 'Blending c) -> (g : 'VecScalar d 'Bool) -> a (Color ('VecScalar d c)) (ColorOp c d e f g)) -> ((h:'ComparisonFunction) -> (i:'Bool) -> a Depth (DepthOp h i)) -> ((j:'StencilTests) -> (k:'StencilOps) -> (l:'StencilOps) -> a Stencil (StencilOp j k l)) -> {m:'ImageKind} -> (n : 'FragmentOperation m) -> a m n
340match'FragmentOperation :: (a : Type->Type) -> ((b:'ImageKind) -> a ('FragmentOperation b)) -> (c:Type) -> a c -> a c 340match'FragmentOperation :: (a : Type->Type) -> ((b:'ImageKind) -> a ('FragmentOperation b)) -> (c:Type) -> a c -> a c
341'Interpolated :: Type->Type 341'Interpolated :: Type->Type
342Smooth :: {a} -> {_ : 'Floating a} -> 'Interpolated a 342Smooth :: {a} -> {_ : 'Floating a} -> 'Interpolated a
343NoPerspective :: {a} -> {_ : 'Floating a} -> 'Interpolated a 343NoPerspective :: {a} -> {_ : 'Floating a} -> 'Interpolated a
344Flat :: {a} -> 'Interpolated a 344Flat :: {a} -> 'Interpolated a
345'InterpolatedCase :: {a} -> (b : 'Interpolated a -> Type) -> ({c : 'Floating a} -> b (Smooth c)) -> ({d : 'Floating a} -> b (NoPerspective d)) -> b Flat -> (e : 'Interpolated a) -> b e 345'InterpolatedCase :: {a} -> (b : 'Interpolated a -> Type) -> ({c : 'Floating a} -> b (Smooth c)) -> ({d : 'Floating a} -> b (NoPerspective d)) -> b Flat -> (e : 'Interpolated a) -> b e
346match'Interpolated :: (a : Type->Type) -> ((b:Type) -> a ('Interpolated b)) -> (c:Type) -> a c -> a c 346match'Interpolated :: (a : Type->Type) -> ((b:Type) -> a ('Interpolated b)) -> (c:Type) -> a c -> a c
347rasterizePrimitive :: {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) 347rasterizePrimitive :: {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)
348rasterizePrimitives :: {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)))) 348rasterizePrimitives :: {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))))
349'ImageLC :: Type->'Nat 349'ImageLC :: Type->'Nat
350allSame :: {a} -> 'List a -> Type 350allSame :: {a} -> 'List a -> Type
351sameLayerCounts :: 'List Type -> Type 351sameLayerCounts :: 'List Type -> Type
352'FrameBuffer :: 'Nat -> 'List 'ImageKind -> Type 352'FrameBuffer :: 'Nat -> 'List 'ImageKind -> Type
353'FrameBufferCase :: {a:'Nat} -> {b : 'List 'ImageKind} -> (c : 'FrameBuffer a b -> Type) -> (d : 'FrameBuffer a b) -> c d 353'FrameBufferCase :: {a:'Nat} -> {b : 'List 'ImageKind} -> (c : 'FrameBuffer a b -> Type) -> (d : 'FrameBuffer a b) -> c d
354match'FrameBuffer :: (a : Type->Type) -> ((b:'Nat) -> (c : 'List 'ImageKind) -> a ('FrameBuffer b c)) -> (d:Type) -> a d -> a d 354match'FrameBuffer :: (a : Type->Type) -> ((b:'Nat) -> (c : 'List 'ImageKind) -> a ('FrameBuffer b c)) -> (d:Type) -> a d -> a d
355imageType' :: 'List 'ImageKind -> 'List Type 355imageType' :: 'List 'ImageKind -> 'List Type
356'FragmentOperationKind :: Type->'ImageKind 356'FragmentOperationKind :: Type->'ImageKind
357Accumulate :: {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 357Accumulate :: {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
358accumulateWith :: {a} -> {b} -> a -> b->(a, b) 358accumulateWith :: {a} -> {b} -> a -> b->(a, b)
359overlay :: {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) 359overlay :: {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)
360'GetImageKind :: Type->'ImageKind 360'GetImageKind :: Type->'ImageKind
361FrameBuffer :: {a : 'List Type} -> {_ : sameLayerCounts a} -> 'HList a -> 'FrameBuffer ('ImageLC (head Type a)) (map Type 'ImageKind 'GetImageKind a) 361FrameBuffer :: {a : 'List Type} -> {_ : sameLayerCounts a} -> 'HList a -> 'FrameBuffer ('ImageLC (head Type a)) (map Type 'ImageKind 'GetImageKind a)
362imageFrame :: {a : 'List Type} -> {_ : sameLayerCounts a} -> 'HList a -> 'FrameBuffer ('ImageLC (head Type a)) (map Type 'ImageKind 'GetImageKind a) 362imageFrame :: {a : 'List Type} -> {_ : sameLayerCounts a} -> 'HList a -> 'FrameBuffer ('ImageLC (head Type a)) (map Type 'ImageKind 'GetImageKind a)
363accumulate :: {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) 363accumulate :: {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)
364PrjImage :: {a:'ImageKind} -> 'FrameBuffer 1 (Cons a Nil) -> 'Image 1 a 364PrjImage :: {a:'ImageKind} -> 'FrameBuffer 1 (Cons a Nil) -> 'Image 1 a
365PrjImageColor :: 'FrameBuffer 1 (Cons Depth (Cons (Color ('Vec 4 'Float)) Nil)) -> 'Image 1 (Color ('Vec 4 'Float)) 365PrjImageColor :: 'FrameBuffer 1 (Cons Depth (Cons (Color ('Vec 4 'Float)) Nil)) -> 'Image 1 (Color ('Vec 4 'Float))
366'Output :: Type 366'Output :: Type
367ScreenOut :: {a:'Nat} -> {b : 'List 'ImageKind} -> 'FrameBuffer a b -> 'Output 367ScreenOut :: {a:'Nat} -> {b : 'List 'ImageKind} -> 'FrameBuffer a b -> 'Output
368'OutputCase :: (a : 'Output->Type) -> ({b:'Nat} -> {c : 'List 'ImageKind} -> (d : 'FrameBuffer b c) -> a (ScreenOut b c d)) -> (e:'Output) -> a e 368'OutputCase :: (a : 'Output->Type) -> ({b:'Nat} -> {c : 'List 'ImageKind} -> (d : 'FrameBuffer b c) -> a (ScreenOut b c d)) -> (e:'Output) -> a e
369match'Output :: (a : Type->Type) -> a 'Output -> (b:Type) -> a b -> a b 369match'Output :: (a : Type->Type) -> a 'Output -> (b:Type) -> a b -> a b
370renderFrame :: {a:'Nat} -> {b : 'List 'ImageKind} -> 'FrameBuffer a b -> 'Output 370renderFrame :: {a:'Nat} -> {b : 'List 'ImageKind} -> 'FrameBuffer a b -> 'Output
371'Texture :: Type 371'Texture :: Type
372Texture2DSlot :: 'String->'Texture 372Texture2DSlot :: 'String->'Texture
373Texture2D :: 'Vec 2 'Int -> 'Image 1 (Color ('Vec 4 'Float)) -> 'Texture 373Texture2D :: 'Vec 2 'Int -> 'Image 1 (Color ('Vec 4 'Float)) -> 'Texture
374'TextureCase :: (a : 'Texture->Type) -> ((b:'String) -> a (Texture2DSlot b)) -> ((c : 'Vec 2 'Int) -> (d : 'Image 1 (Color ('Vec 4 'Float))) -> a (Texture2D c d)) -> (e:'Texture) -> a e 374'TextureCase :: (a : 'Texture->Type) -> ((b:'String) -> a (Texture2DSlot b)) -> ((c : 'Vec 2 'Int) -> (d : 'Image 1 (Color ('Vec 4 'Float))) -> a (Texture2D c d)) -> (e:'Texture) -> a e
375match'Texture :: (a : Type->Type) -> a 'Texture -> (b:Type) -> a b -> a b 375match'Texture :: (a : Type->Type) -> a 'Texture -> (b:Type) -> a b -> a b
376'Filter :: Type 376'Filter :: Type
377PointFilter :: 'Filter 377PointFilter :: 'Filter
378LinearFilter :: 'Filter 378LinearFilter :: 'Filter
379'FilterCase :: (a : 'Filter->Type) -> a PointFilter -> a LinearFilter -> (b:'Filter) -> a b 379'FilterCase :: (a : 'Filter->Type) -> a PointFilter -> a LinearFilter -> (b:'Filter) -> a b
380match'Filter :: (a : Type->Type) -> a 'Filter -> (b:Type) -> a b -> a b 380match'Filter :: (a : Type->Type) -> a 'Filter -> (b:Type) -> a b -> a b
381'EdgeMode :: Type 381'EdgeMode :: Type
382Repeat :: 'EdgeMode 382Repeat :: 'EdgeMode
383MirroredRepeat :: 'EdgeMode 383MirroredRepeat :: 'EdgeMode
384ClampToEdge :: 'EdgeMode 384ClampToEdge :: 'EdgeMode
385'EdgeModeCase :: (a : 'EdgeMode->Type) -> a Repeat -> a MirroredRepeat -> a ClampToEdge -> (b:'EdgeMode) -> a b 385'EdgeModeCase :: (a : 'EdgeMode->Type) -> a Repeat -> a MirroredRepeat -> a ClampToEdge -> (b:'EdgeMode) -> a b
386match'EdgeMode :: (a : Type->Type) -> a 'EdgeMode -> (b:Type) -> a b -> a b 386match'EdgeMode :: (a : Type->Type) -> a 'EdgeMode -> (b:Type) -> a b -> a b
387'Sampler :: Type 387'Sampler :: Type
388Sampler :: 'Filter -> 'EdgeMode -> 'Texture->'Sampler 388Sampler :: 'Filter -> 'EdgeMode -> 'Texture->'Sampler
389'SamplerCase :: (a : 'Sampler->Type) -> ((b:'Filter) -> (c:'EdgeMode) -> (d:'Texture) -> a (Sampler b c d)) -> (e:'Sampler) -> a e 389'SamplerCase :: (a : 'Sampler->Type) -> ((b:'Filter) -> (c:'EdgeMode) -> (d:'Texture) -> a (Sampler b c d)) -> (e:'Sampler) -> a e
390match'Sampler :: (a : Type->Type) -> a 'Sampler -> (b:Type) -> a b -> a b 390match'Sampler :: (a : Type->Type) -> a 'Sampler -> (b:Type) -> a b -> a b
391texture2D :: 'Sampler -> 'Vec 2 'Float -> 'Vec 4 'Float 391texture2D :: 'Sampler -> 'Vec 2 'Float -> 'Vec 4 'Float
392accumulationContext :: {a} -> a->a 392accumulationContext :: {a} -> a->a
393------------ tooltips 393------------ tooltips
394testdata/Builtins.lc 10:1-10:3 {a} -> a->a 394testdata/Builtins.lc 10:1-10:3 {a} -> a->a
395testdata/Builtins.lc 10:8-10:9 b_ 395testdata/Builtins.lc 10:8-10:9 b_