summaryrefslogtreecommitdiff
path: root/testdata/Builtins.out
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-05-06 12:29:36 +0200
committerPéter Diviánszky <divipp@gmail.com>2016-05-06 12:29:36 +0200
commitd353a29bb93d3105a763465300b28250117c3f40 (patch)
tree1517e23109d5e3c266b634b3c7af4dd4ca29e4d7 /testdata/Builtins.out
parent3430070058610b6aeab2543bc050bb1cf2e95d0c (diff)
show typechecked source code in .out files & fix local function handling (again)
Diffstat (limited to 'testdata/Builtins.out')
-rw-r--r--testdata/Builtins.out2880
1 files changed, 2139 insertions, 741 deletions
diff --git a/testdata/Builtins.out b/testdata/Builtins.out
index 2c4b1a46..e5a33d12 100644
--- a/testdata/Builtins.out
+++ b/testdata/Builtins.out
@@ -10,7 +10,7 @@ data VecS (_ :: Type) :: Nat -> Type where
10mapVec :: forall (a :: _) (b :: _) (c :: _) . (a -> b) -> VecS a c -> VecS b c 10mapVec :: forall (a :: _) (b :: _) (c :: _) . (a -> b) -> VecS a c -> VecS b c
11mapVec 11mapVec
12 = \(a :: _) (b :: _) -> case'VecS 12 = \(a :: _) (b :: _) -> case'VecS
13 (\_ _ -> _) 13 (\(_ :: _) (_ :: _) -> _)
14 (\(c :: _) (d :: _) -> _rhs (V2 (a c) (a d))) 14 (\(c :: _) (d :: _) -> _rhs (V2 (a c) (a d)))
15 (\(e :: _) (f :: _) (g :: _) -> _rhs (V3 (a e) (a f) (a g))) 15 (\(e :: _) (f :: _) (g :: _) -> _rhs (V3 (a e) (a f) (a g)))
16 (\(h :: _) (i :: _) (j :: _) (k :: _) -> _rhs (V4 (a h) (a i) (a j) (a k))) 16 (\(h :: _) (i :: _) (j :: _) (k :: _) -> _rhs (V4 (a h) (a i) (a j) (a k)))
@@ -22,10 +22,10 @@ mapVec
22'VecScalar :: Nat -> Type -> Type 22'VecScalar :: Nat -> Type -> Type
23'VecScalar 23'VecScalar
24 = \(a :: _) (b :: _) -> case'Nat 24 = \(a :: _) (b :: _) -> case'Nat
25 (\_ -> _) 25 (\(_ :: _) -> _)
26 undefined 26 undefined
27 (\(c :: _) -> case'Nat 27 (\(c :: _) -> case'Nat
28 (\_ -> _) 28 (\(_ :: _) -> _)
29 (_rhs b) 29 (_rhs b)
30 (\(d :: _) -> _rhs ('Vec (Succ (Succ d)) b)) 30 (\(d :: _) -> _rhs ('Vec (Succ (Succ d)) b))
31 c) 31 c)
@@ -72,31 +72,35 @@ data Mat :: Nat -> Nat -> Type -> Type where
72'MatVecScalarElem :: Type -> Type 72'MatVecScalarElem :: Type -> Type
73'MatVecScalarElem 73'MatVecScalarElem
74 = \(a :: _) -> match'Float 74 = \(a :: _) -> match'Float
75 (\_ -> _) 75 (\(_ :: _) -> _)
76 (_rhs 'Float) 76 (_rhs 'Float)
77 a 77 a
78 (match'Bool 78 (match'Bool
79 (\_ -> _) 79 (\(_ :: _) -> _)
80 (_rhs 'Bool) 80 (_rhs 'Bool)
81 a 81 a
82 (match'Int 82 (match'Int
83 (\_ -> _) 83 (\(_ :: _) -> _)
84 (_rhs 'Int) 84 (_rhs 'Int)
85 a 85 a
86 (match'VecS 86 (match'VecS
87 (\_ -> _) 87 (\(_ :: _) -> _)
88 (\(b :: _) _ -> _rhs b) 88 (\(b :: _) (_ :: _) -> _rhs b)
89 a 89 a
90 (match'Mat (\_ -> _) (\_ _ (c :: _) -> _rhs c) a undefined)))) 90 (match'Mat
91 (\(_ :: _) -> _)
92 (\(_ :: _) (_ :: _) (c :: _) -> _rhs c)
93 a
94 undefined))))
91 95
92'Signed :: Type -> Constraint 96'Signed :: Type -> Constraint
93'Signed 97'Signed
94 = \(a :: _) -> match'Int 98 = \(a :: _) -> match'Int
95 (\_ -> _) 99 (\(_ :: _) -> _)
96 (_rhs 'CUnit) 100 (_rhs 'CUnit)
97 a 101 a
98 (match'Float 102 (match'Float
99 (\_ -> _) 103 (\(_ :: _) -> _)
100 (_rhs 'CUnit) 104 (_rhs 'CUnit)
101 a 105 a
102 (_rhs ('CEmpty "no instance of 'Signed on ???"))) 106 (_rhs ('CEmpty "no instance of 'Signed on ???")))
@@ -104,37 +108,37 @@ data Mat :: Nat -> Nat -> Type -> Type where
104'Component :: Type -> Constraint 108'Component :: Type -> Constraint
105'Component 109'Component
106 = \(a :: _) -> match'Int 110 = \(a :: _) -> match'Int
107 (\_ -> _) 111 (\(_ :: _) -> _)
108 (_rhs 'CUnit) 112 (_rhs 'CUnit)
109 a 113 a
110 (match'Word 114 (match'Word
111 (\_ -> _) 115 (\(_ :: _) -> _)
112 (_rhs 'CUnit) 116 (_rhs 'CUnit)
113 a 117 a
114 (match'Float 118 (match'Float
115 (\_ -> _) 119 (\(_ :: _) -> _)
116 (_rhs 'CUnit) 120 (_rhs 'CUnit)
117 a 121 a
118 (match'VecS 122 (match'VecS
119 (\_ -> _) 123 (\(_ :: _) -> _)
120 (\(b :: _) (c :: _) -> match'Float 124 (\(b :: _) (c :: _) -> match'Float
121 (\_ -> _) 125 (\(_ :: _) -> _)
122 (case'Nat 126 (case'Nat
123 (\_ -> _) 127 (\(_ :: _) -> _)
124 (_rhs ('CEmpty "no instance of 'Component on ???")) 128 (_rhs ('CEmpty "no instance of 'Component on ???"))
125 (\(d :: _) -> case'Nat 129 (\(d :: _) -> case'Nat
126 (\_ -> _) 130 (\(_ :: _) -> _)
127 (_rhs ('CEmpty "no instance of 'Component on ???")) 131 (_rhs ('CEmpty "no instance of 'Component on ???"))
128 (\(e :: _) -> case'Nat 132 (\(e :: _) -> case'Nat
129 (\_ -> _) 133 (\(_ :: _) -> _)
130 (_rhs 'CUnit) 134 (_rhs 'CUnit)
131 (\(f :: _) -> case'Nat 135 (\(f :: _) -> case'Nat
132 (\_ -> _) 136 (\(_ :: _) -> _)
133 (_rhs 'CUnit) 137 (_rhs 'CUnit)
134 (\(g :: _) -> case'Nat 138 (\(g :: _) -> case'Nat
135 (\_ -> _) 139 (\(_ :: _) -> _)
136 (_rhs 'CUnit) 140 (_rhs 'CUnit)
137 (\_ -> _rhs ('CEmpty "no instance of 'Component on ???")) 141 (\(_ :: _) -> _rhs ('CEmpty "no instance of 'Component on ???"))
138 g) 142 g)
139 f) 143 f)
140 e) 144 e)
@@ -142,23 +146,23 @@ data Mat :: Nat -> Nat -> Type -> Type where
142 c) 146 c)
143 b 147 b
144 (match'Bool 148 (match'Bool
145 (\_ -> _) 149 (\(_ :: _) -> _)
146 (case'Nat 150 (case'Nat
147 (\_ -> _) 151 (\(_ :: _) -> _)
148 (_rhs ('CEmpty "no instance of 'Component on ???")) 152 (_rhs ('CEmpty "no instance of 'Component on ???"))
149 (\(h :: _) -> case'Nat 153 (\(h :: _) -> case'Nat
150 (\_ -> _) 154 (\(_ :: _) -> _)
151 (_rhs ('CEmpty "no instance of 'Component on ???")) 155 (_rhs ('CEmpty "no instance of 'Component on ???"))
152 (\(i :: _) -> case'Nat 156 (\(i :: _) -> case'Nat
153 (\_ -> _) 157 (\(_ :: _) -> _)
154 (_rhs 'CUnit) 158 (_rhs 'CUnit)
155 (\(j :: _) -> case'Nat 159 (\(j :: _) -> case'Nat
156 (\_ -> _) 160 (\(_ :: _) -> _)
157 (_rhs 'CUnit) 161 (_rhs 'CUnit)
158 (\(k :: _) -> case'Nat 162 (\(k :: _) -> case'Nat
159 (\_ -> _) 163 (\(_ :: _) -> _)
160 (_rhs 'CUnit) 164 (_rhs 'CUnit)
161 (\_ -> _rhs ('CEmpty "no instance of 'Component on ???")) 165 (\(_ :: _) -> _rhs ('CEmpty "no instance of 'Component on ???"))
162 k) 166 k)
163 j) 167 j)
164 i) 168 i)
@@ -168,45 +172,45 @@ data Mat :: Nat -> Nat -> Type -> Type where
168 (_rhs ('CEmpty "no instance of 'Component on ???")))) 172 (_rhs ('CEmpty "no instance of 'Component on ???"))))
169 a 173 a
170 (match'Bool 174 (match'Bool
171 (\_ -> _) 175 (\(_ :: _) -> _)
172 (_rhs 'CUnit) 176 (_rhs 'CUnit)
173 a 177 a
174 (_rhs ('CEmpty "no instance of 'Component on ???")))))) 178 (_rhs ('CEmpty "no instance of 'Component on ???"))))))
175 179
176zero :: forall a . Component a => a 180zero :: forall a . Component a => a
177zero 181zero
178 = \ @a @_ -> match'Int 182 = \ @a @(_ :: _) -> match'Int
179 (\_ -> _) 183 (\(_ :: _) -> _)
180 (_rhs let b = _rhs (fromInt 0 :: Int) in b) 184 (_rhs let b = _rhs (fromInt 0 :: Int) in b)
181 a 185 a
182 (match'Word 186 (match'Word
183 (\_ -> _) 187 (\(_ :: _) -> _)
184 (_rhs let c = _rhs (fromInt 0 :: Word) in c) 188 (_rhs let c = _rhs (fromInt 0 :: Word) in c)
185 a 189 a
186 (match'Float 190 (match'Float
187 (\_ -> _) 191 (\(_ :: _) -> _)
188 (_rhs let d = _rhs 0.0 in d) 192 (_rhs let d = _rhs 0.0 in d)
189 a 193 a
190 (match'VecS 194 (match'VecS
191 (\_ -> _) 195 (\(_ :: _) -> _)
192 (\(e :: _) (f :: _) -> match'Float 196 (\(e :: _) (f :: _) -> match'Float
193 (\_ -> _) 197 (\(_ :: _) -> _)
194 (case'Nat 198 (case'Nat
195 (\_ -> _) 199 (\(_ :: _) -> _)
196 (_rhs undefined) 200 (_rhs undefined)
197 (\(g :: _) -> case'Nat 201 (\(g :: _) -> case'Nat
198 (\_ -> _) 202 (\(_ :: _) -> _)
199 (_rhs undefined) 203 (_rhs undefined)
200 (\(h :: _) -> case'Nat 204 (\(h :: _) -> case'Nat
201 (\_ -> _) 205 (\(_ :: _) -> _)
202 (_rhs let i = _rhs (V2 0.0 0.0) in i) 206 (_rhs let i = _rhs (V2 0.0 0.0) in i)
203 (\(j :: _) -> case'Nat 207 (\(j :: _) -> case'Nat
204 (\_ -> _) 208 (\(_ :: _) -> _)
205 (_rhs let k = _rhs (V3 0.0 0.0 0.0) in k) 209 (_rhs let k = _rhs (V3 0.0 0.0 0.0) in k)
206 (\(l :: _) -> case'Nat 210 (\(l :: _) -> case'Nat
207 (\_ -> _) 211 (\(_ :: _) -> _)
208 (_rhs let m = _rhs (V4 0.0 0.0 0.0 0.0) in m) 212 (_rhs let m = _rhs (V4 0.0 0.0 0.0 0.0) in m)
209 (\_ -> _rhs undefined) 213 (\(_ :: _) -> _rhs undefined)
210 l) 214 l)
211 j) 215 j)
212 h) 216 h)
@@ -214,23 +218,23 @@ zero
214 f) 218 f)
215 e 219 e
216 (match'Bool 220 (match'Bool
217 (\_ -> _) 221 (\(_ :: _) -> _)
218 (case'Nat 222 (case'Nat
219 (\_ -> _) 223 (\(_ :: _) -> _)
220 (_rhs undefined) 224 (_rhs undefined)
221 (\(n :: _) -> case'Nat 225 (\(n :: _) -> case'Nat
222 (\_ -> _) 226 (\(_ :: _) -> _)
223 (_rhs undefined) 227 (_rhs undefined)
224 (\(o :: _) -> case'Nat 228 (\(o :: _) -> case'Nat
225 (\_ -> _) 229 (\(_ :: _) -> _)
226 (_rhs let p = _rhs (V2 False False) in p) 230 (_rhs let p = _rhs (V2 False False) in p)
227 (\(q :: _) -> case'Nat 231 (\(q :: _) -> case'Nat
228 (\_ -> _) 232 (\(_ :: _) -> _)
229 (_rhs let r = _rhs (V3 False False False) in r) 233 (_rhs let r = _rhs (V3 False False False) in r)
230 (\(s :: _) -> case'Nat 234 (\(s :: _) -> case'Nat
231 (\_ -> _) 235 (\(_ :: _) -> _)
232 (_rhs let t = _rhs (V4 False False False False) in t) 236 (_rhs let t = _rhs (V4 False False False False) in t)
233 (\_ -> _rhs undefined) 237 (\(_ :: _) -> _rhs undefined)
234 s) 238 s)
235 q) 239 q)
236 o) 240 o)
@@ -239,42 +243,46 @@ zero
239 e 243 e
240 (_rhs undefined))) 244 (_rhs undefined)))
241 a 245 a
242 (match'Bool (\_ -> _) (_rhs let u = _rhs False in u) a (_rhs undefined))))) 246 (match'Bool
247 (\(_ :: _) -> _)
248 (_rhs let u = _rhs False in u)
249 a
250 (_rhs undefined)))))
243 251
244one :: forall a . Component a => a 252one :: forall a . Component a => a
245one 253one
246 = \ @a @_ -> match'Int 254 = \ @a @(_ :: _) -> match'Int
247 (\_ -> _) 255 (\(_ :: _) -> _)
248 (_rhs let b = _rhs (fromInt 1 :: Int) in b) 256 (_rhs let b = _rhs (fromInt 1 :: Int) in b)
249 a 257 a
250 (match'Word 258 (match'Word
251 (\_ -> _) 259 (\(_ :: _) -> _)
252 (_rhs let c = _rhs (fromInt 1 :: Word) in c) 260 (_rhs let c = _rhs (fromInt 1 :: Word) in c)
253 a 261 a
254 (match'Float 262 (match'Float
255 (\_ -> _) 263 (\(_ :: _) -> _)
256 (_rhs let d = _rhs 1.0 in d) 264 (_rhs let d = _rhs 1.0 in d)
257 a 265 a
258 (match'VecS 266 (match'VecS
259 (\_ -> _) 267 (\(_ :: _) -> _)
260 (\(e :: _) (f :: _) -> match'Float 268 (\(e :: _) (f :: _) -> match'Float
261 (\_ -> _) 269 (\(_ :: _) -> _)
262 (case'Nat 270 (case'Nat
263 (\_ -> _) 271 (\(_ :: _) -> _)
264 (_rhs undefined) 272 (_rhs undefined)
265 (\(g :: _) -> case'Nat 273 (\(g :: _) -> case'Nat
266 (\_ -> _) 274 (\(_ :: _) -> _)
267 (_rhs undefined) 275 (_rhs undefined)
268 (\(h :: _) -> case'Nat 276 (\(h :: _) -> case'Nat
269 (\_ -> _) 277 (\(_ :: _) -> _)
270 (_rhs let i = _rhs (V2 1.0 1.0) in i) 278 (_rhs let i = _rhs (V2 1.0 1.0) in i)
271 (\(j :: _) -> case'Nat 279 (\(j :: _) -> case'Nat
272 (\_ -> _) 280 (\(_ :: _) -> _)
273 (_rhs let k = _rhs (V3 1.0 1.0 1.0) in k) 281 (_rhs let k = _rhs (V3 1.0 1.0 1.0) in k)
274 (\(l :: _) -> case'Nat 282 (\(l :: _) -> case'Nat
275 (\_ -> _) 283 (\(_ :: _) -> _)
276 (_rhs let m = _rhs (V4 1.0 1.0 1.0 1.0) in m) 284 (_rhs let m = _rhs (V4 1.0 1.0 1.0 1.0) in m)
277 (\_ -> _rhs undefined) 285 (\(_ :: _) -> _rhs undefined)
278 l) 286 l)
279 j) 287 j)
280 h) 288 h)
@@ -282,23 +290,23 @@ one
282 f) 290 f)
283 e 291 e
284 (match'Bool 292 (match'Bool
285 (\_ -> _) 293 (\(_ :: _) -> _)
286 (case'Nat 294 (case'Nat
287 (\_ -> _) 295 (\(_ :: _) -> _)
288 (_rhs undefined) 296 (_rhs undefined)
289 (\(n :: _) -> case'Nat 297 (\(n :: _) -> case'Nat
290 (\_ -> _) 298 (\(_ :: _) -> _)
291 (_rhs undefined) 299 (_rhs undefined)
292 (\(o :: _) -> case'Nat 300 (\(o :: _) -> case'Nat
293 (\_ -> _) 301 (\(_ :: _) -> _)
294 (_rhs let p = _rhs (V2 True True) in p) 302 (_rhs let p = _rhs (V2 True True) in p)
295 (\(q :: _) -> case'Nat 303 (\(q :: _) -> case'Nat
296 (\_ -> _) 304 (\(_ :: _) -> _)
297 (_rhs let r = _rhs (V3 True True True) in r) 305 (_rhs let r = _rhs (V3 True True True) in r)
298 (\(s :: _) -> case'Nat 306 (\(s :: _) -> case'Nat
299 (\_ -> _) 307 (\(_ :: _) -> _)
300 (_rhs let t = _rhs (V4 True True True True) in t) 308 (_rhs let t = _rhs (V4 True True True True) in t)
301 (\_ -> _rhs undefined) 309 (\(_ :: _) -> _rhs undefined)
302 s) 310 s)
303 q) 311 q)
304 o) 312 o)
@@ -307,16 +315,20 @@ one
307 e 315 e
308 (_rhs undefined))) 316 (_rhs undefined)))
309 a 317 a
310 (match'Bool (\_ -> _) (_rhs let u = _rhs True in u) a (_rhs undefined))))) 318 (match'Bool
319 (\(_ :: _) -> _)
320 (_rhs let u = _rhs True in u)
321 a
322 (_rhs undefined)))))
311 323
312'Integral :: Type -> Constraint 324'Integral :: Type -> Constraint
313'Integral 325'Integral
314 = \(a :: _) -> match'Int 326 = \(a :: _) -> match'Int
315 (\_ -> _) 327 (\(_ :: _) -> _)
316 (_rhs 'CUnit) 328 (_rhs 'CUnit)
317 a 329 a
318 (match'Word 330 (match'Word
319 (\_ -> _) 331 (\(_ :: _) -> _)
320 (_rhs 'CUnit) 332 (_rhs 'CUnit)
321 a 333 a
322 (_rhs ('CEmpty "no instance of 'Integral on ???"))) 334 (_rhs ('CEmpty "no instance of 'Integral on ???")))
@@ -324,29 +336,29 @@ one
324'Floating :: Type -> Constraint 336'Floating :: Type -> Constraint
325'Floating 337'Floating
326 = \(a :: _) -> match'Float 338 = \(a :: _) -> match'Float
327 (\_ -> _) 339 (\(_ :: _) -> _)
328 (_rhs 'CUnit) 340 (_rhs 'CUnit)
329 a 341 a
330 (match'VecS 342 (match'VecS
331 (\_ -> _) 343 (\(_ :: _) -> _)
332 (\(b :: _) (c :: _) -> match'Float 344 (\(b :: _) (c :: _) -> match'Float
333 (\_ -> _) 345 (\(_ :: _) -> _)
334 (case'Nat 346 (case'Nat
335 (\_ -> _) 347 (\(_ :: _) -> _)
336 (_rhs ('CEmpty "no instance of 'Floating on ???")) 348 (_rhs ('CEmpty "no instance of 'Floating on ???"))
337 (\(d :: _) -> case'Nat 349 (\(d :: _) -> case'Nat
338 (\_ -> _) 350 (\(_ :: _) -> _)
339 (_rhs ('CEmpty "no instance of 'Floating on ???")) 351 (_rhs ('CEmpty "no instance of 'Floating on ???"))
340 (\(e :: _) -> case'Nat 352 (\(e :: _) -> case'Nat
341 (\_ -> _) 353 (\(_ :: _) -> _)
342 (_rhs 'CUnit) 354 (_rhs 'CUnit)
343 (\(f :: _) -> case'Nat 355 (\(f :: _) -> case'Nat
344 (\_ -> _) 356 (\(_ :: _) -> _)
345 (_rhs 'CUnit) 357 (_rhs 'CUnit)
346 (\(g :: _) -> case'Nat 358 (\(g :: _) -> case'Nat
347 (\_ -> _) 359 (\(_ :: _) -> _)
348 (_rhs 'CUnit) 360 (_rhs 'CUnit)
349 (\_ -> _rhs ('CEmpty "no instance of 'Floating on ???")) 361 (\(_ :: _) -> _rhs ('CEmpty "no instance of 'Floating on ???"))
350 g) 362 g)
351 f) 363 f)
352 e) 364 e)
@@ -356,119 +368,119 @@ one
356 (_rhs ('CEmpty "no instance of 'Floating on ???"))) 368 (_rhs ('CEmpty "no instance of 'Floating on ???")))
357 a 369 a
358 (match'Mat 370 (match'Mat
359 (\_ -> _) 371 (\(_ :: _) -> _)
360 (\(h :: _) (i :: _) (j :: _) -> case'Nat 372 (\(h :: _) (i :: _) (j :: _) -> case'Nat
361 (\_ -> _) 373 (\(_ :: _) -> _)
362 (_rhs ('CEmpty "no instance of 'Floating on ???")) 374 (_rhs ('CEmpty "no instance of 'Floating on ???"))
363 (\(k :: _) -> case'Nat 375 (\(k :: _) -> case'Nat
364 (\_ -> _) 376 (\(_ :: _) -> _)
365 (_rhs ('CEmpty "no instance of 'Floating on ???")) 377 (_rhs ('CEmpty "no instance of 'Floating on ???"))
366 (\(l :: _) -> case'Nat 378 (\(l :: _) -> case'Nat
367 (\_ -> _) 379 (\(_ :: _) -> _)
368 (case'Nat 380 (case'Nat
369 (\_ -> _) 381 (\(_ :: _) -> _)
370 (_rhs ('CEmpty "no instance of 'Floating on ???")) 382 (_rhs ('CEmpty "no instance of 'Floating on ???"))
371 (\(m :: _) -> case'Nat 383 (\(m :: _) -> case'Nat
372 (\_ -> _) 384 (\(_ :: _) -> _)
373 (_rhs ('CEmpty "no instance of 'Floating on ???")) 385 (_rhs ('CEmpty "no instance of 'Floating on ???"))
374 (\(n :: _) -> case'Nat 386 (\(n :: _) -> case'Nat
375 (\_ -> _) 387 (\(_ :: _) -> _)
376 (match'Float 388 (match'Float
377 (\_ -> _) 389 (\(_ :: _) -> _)
378 (_rhs 'CUnit) 390 (_rhs 'CUnit)
379 j 391 j
380 (_rhs ('CEmpty "no instance of 'Floating on ???"))) 392 (_rhs ('CEmpty "no instance of 'Floating on ???")))
381 (\(o :: _) -> case'Nat 393 (\(o :: _) -> case'Nat
382 (\_ -> _) 394 (\(_ :: _) -> _)
383 (match'Float 395 (match'Float
384 (\_ -> _) 396 (\(_ :: _) -> _)
385 (_rhs 'CUnit) 397 (_rhs 'CUnit)
386 j 398 j
387 (_rhs ('CEmpty "no instance of 'Floating on ???"))) 399 (_rhs ('CEmpty "no instance of 'Floating on ???")))
388 (\(p :: _) -> case'Nat 400 (\(p :: _) -> case'Nat
389 (\_ -> _) 401 (\(_ :: _) -> _)
390 (match'Float 402 (match'Float
391 (\_ -> _) 403 (\(_ :: _) -> _)
392 (_rhs 'CUnit) 404 (_rhs 'CUnit)
393 j 405 j
394 (_rhs ('CEmpty "no instance of 'Floating on ???"))) 406 (_rhs ('CEmpty "no instance of 'Floating on ???")))
395 (\_ -> _rhs ('CEmpty "no instance of 'Floating on ???")) 407 (\(_ :: _) -> _rhs ('CEmpty "no instance of 'Floating on ???"))
396 p) 408 p)
397 o) 409 o)
398 n) 410 n)
399 m) 411 m)
400 i) 412 i)
401 (\(q :: _) -> case'Nat 413 (\(q :: _) -> case'Nat
402 (\_ -> _) 414 (\(_ :: _) -> _)
403 (case'Nat 415 (case'Nat
404 (\_ -> _) 416 (\(_ :: _) -> _)
405 (_rhs ('CEmpty "no instance of 'Floating on ???")) 417 (_rhs ('CEmpty "no instance of 'Floating on ???"))
406 (\(r :: _) -> case'Nat 418 (\(r :: _) -> case'Nat
407 (\_ -> _) 419 (\(_ :: _) -> _)
408 (_rhs ('CEmpty "no instance of 'Floating on ???")) 420 (_rhs ('CEmpty "no instance of 'Floating on ???"))
409 (\(s :: _) -> case'Nat 421 (\(s :: _) -> case'Nat
410 (\_ -> _) 422 (\(_ :: _) -> _)
411 (match'Float 423 (match'Float
412 (\_ -> _) 424 (\(_ :: _) -> _)
413 (_rhs 'CUnit) 425 (_rhs 'CUnit)
414 j 426 j
415 (_rhs ('CEmpty "no instance of 'Floating on ???"))) 427 (_rhs ('CEmpty "no instance of 'Floating on ???")))
416 (\(t :: _) -> case'Nat 428 (\(t :: _) -> case'Nat
417 (\_ -> _) 429 (\(_ :: _) -> _)
418 (match'Float 430 (match'Float
419 (\_ -> _) 431 (\(_ :: _) -> _)
420 (_rhs 'CUnit) 432 (_rhs 'CUnit)
421 j 433 j
422 (_rhs ('CEmpty "no instance of 'Floating on ???"))) 434 (_rhs ('CEmpty "no instance of 'Floating on ???")))
423 (\(u :: _) -> case'Nat 435 (\(u :: _) -> case'Nat
424 (\_ -> _) 436 (\(_ :: _) -> _)
425 (match'Float 437 (match'Float
426 (\_ -> _) 438 (\(_ :: _) -> _)
427 (_rhs 'CUnit) 439 (_rhs 'CUnit)
428 j 440 j
429 (_rhs ('CEmpty "no instance of 'Floating on ???"))) 441 (_rhs ('CEmpty "no instance of 'Floating on ???")))
430 (\_ -> _rhs ('CEmpty "no instance of 'Floating on ???")) 442 (\(_ :: _) -> _rhs ('CEmpty "no instance of 'Floating on ???"))
431 u) 443 u)
432 t) 444 t)
433 s) 445 s)
434 r) 446 r)
435 i) 447 i)
436 (\(v :: _) -> case'Nat 448 (\(v :: _) -> case'Nat
437 (\_ -> _) 449 (\(_ :: _) -> _)
438 (case'Nat 450 (case'Nat
439 (\_ -> _) 451 (\(_ :: _) -> _)
440 (_rhs ('CEmpty "no instance of 'Floating on ???")) 452 (_rhs ('CEmpty "no instance of 'Floating on ???"))
441 (\(w :: _) -> case'Nat 453 (\(w :: _) -> case'Nat
442 (\_ -> _) 454 (\(_ :: _) -> _)
443 (_rhs ('CEmpty "no instance of 'Floating on ???")) 455 (_rhs ('CEmpty "no instance of 'Floating on ???"))
444 (\(x :: _) -> case'Nat 456 (\(x :: _) -> case'Nat
445 (\_ -> _) 457 (\(_ :: _) -> _)
446 (match'Float 458 (match'Float
447 (\_ -> _) 459 (\(_ :: _) -> _)
448 (_rhs 'CUnit) 460 (_rhs 'CUnit)
449 j 461 j
450 (_rhs ('CEmpty "no instance of 'Floating on ???"))) 462 (_rhs ('CEmpty "no instance of 'Floating on ???")))
451 (\(y :: _) -> case'Nat 463 (\(y :: _) -> case'Nat
452 (\_ -> _) 464 (\(_ :: _) -> _)
453 (match'Float 465 (match'Float
454 (\_ -> _) 466 (\(_ :: _) -> _)
455 (_rhs 'CUnit) 467 (_rhs 'CUnit)
456 j 468 j
457 (_rhs ('CEmpty "no instance of 'Floating on ???"))) 469 (_rhs ('CEmpty "no instance of 'Floating on ???")))
458 (\(z :: _) -> case'Nat 470 (\(z :: _) -> case'Nat
459 (\_ -> _) 471 (\(_ :: _) -> _)
460 (match'Float 472 (match'Float
461 (\_ -> _) 473 (\(_ :: _) -> _)
462 (_rhs 'CUnit) 474 (_rhs 'CUnit)
463 j 475 j
464 (_rhs ('CEmpty "no instance of 'Floating on ???"))) 476 (_rhs ('CEmpty "no instance of 'Floating on ???")))
465 (\_ -> _rhs ('CEmpty "no instance of 'Floating on ???")) 477 (\(_ :: _) -> _rhs ('CEmpty "no instance of 'Floating on ???"))
466 z) 478 z)
467 y) 479 y)
468 x) 480 x)
469 w) 481 w)
470 i) 482 i)
471 (\_ -> _rhs ('CEmpty "no instance of 'Floating on ???")) 483 (\(_ :: _) -> _rhs ('CEmpty "no instance of 'Floating on ???"))
472 v) 484 v)
473 q) 485 q)
474 l) 486 l)
@@ -766,18 +778,22 @@ PrimNoise3 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 3) Float
766PrimNoise4 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 4) Float 778PrimNoise4 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 4) Float
767 779
768head 780head
769 = \(a :: _) -> case'List (\_ -> _) (_rhs undefined) (\(b :: _) _ -> _rhs b) a 781 = \(a :: _) -> case'List
782 (\(_ :: _) -> _)
783 (_rhs undefined)
784 (\(b :: _) (_ :: _) -> _rhs b)
785 a
770 786
771(++) 787(++)
772 = \(a :: _) (b :: _) -> case'List 788 = \(a :: _) (b :: _) -> case'List
773 (\_ -> _) 789 (\(_ :: _) -> _)
774 (_rhs b) 790 (_rhs b)
775 (\(c :: _) (d :: _) -> _rhs (c : d ++ b)) 791 (\(c :: _) (d :: _) -> _rhs (c : d ++ b))
776 a 792 a
777 793
778foldr 794foldr
779 = \(a :: _) (b :: _) (c :: _) -> case'List 795 = \(a :: _) (b :: _) (c :: _) -> case'List
780 (\_ -> _) 796 (\(_ :: _) -> _)
781 (_rhs b) 797 (_rhs b)
782 (\(d :: _) (e :: _) -> _rhs (a d (foldr a b e))) 798 (\(d :: _) (e :: _) -> _rhs (a d (foldr a b e)))
783 c 799 c
@@ -786,7 +802,7 @@ concat = _rhs (foldr (++) [])
786 802
787map 803map
788 = \(a :: _) (b :: _) -> case'List 804 = \(a :: _) (b :: _) -> case'List
789 (\_ -> _) 805 (\(_ :: _) -> _)
790 (_rhs []) 806 (_rhs [])
791 (\(c :: _) (d :: _) -> _rhs (a c : map a d)) 807 (\(c :: _) (d :: _) -> _rhs (a c : map a d))
792 b 808 b
@@ -796,9 +812,9 @@ concatMap = \(a :: _) (b :: _) -> _rhs (concat (map a b))
796 812
797len 813len
798 = \(a :: _) -> case'List 814 = \(a :: _) -> case'List
799 (\_ -> _) 815 (\(_ :: _) -> _)
800 (_rhs (fromInt 0)) 816 (_rhs (fromInt 0))
801 (\_ (b :: _) -> _rhs (fromInt 1 `primAddInt` len b)) 817 (\(_ :: _) (b :: _) -> _rhs (fromInt 1 `primAddInt` len b))
802 a 818 a
803 819
804data Maybe (_ :: Type) :: Type where 820data Maybe (_ :: Type) :: Type where
@@ -832,7 +848,8 @@ mapPrimitives
832mapPrimitives = \(a :: _) -> _rhs (map (mapPrimitive a)) 848mapPrimitives = \(a :: _) -> _rhs (map (mapPrimitive a))
833 849
834'ListElem :: Type -> Type 850'ListElem :: Type -> Type
835'ListElem = \(a :: _) -> match'List (\_ -> _) (\(b :: _) -> _rhs b) a undefined 851'ListElem
852 = \(a :: _) -> match'List (\(_ :: _) -> _) (\(b :: _) -> _rhs b) a undefined
836 853
837fetchArrays 854fetchArrays
838 :: forall (a :: _) (b :: _) (c :: _) 855 :: forall (a :: _) (b :: _) (c :: _)
@@ -854,10 +871,16 @@ data SimpleFragment (_ :: Type) :: Type where
854'Fragment = \(a :: _) (b :: _) -> _rhs ('Vector a ('Maybe ('SimpleFragment b))) 871'Fragment = \(a :: _) (b :: _) -> _rhs ('Vector a ('Maybe ('SimpleFragment b)))
855 872
856sFragmentCoords 873sFragmentCoords
857 = \(a :: _) -> case'SimpleFragment (\_ -> _) (\(b :: _) _ -> _rhs b) a 874 = \(a :: _) -> case'SimpleFragment
875 (\(_ :: _) -> _)
876 (\(b :: _) (_ :: _) -> _rhs b)
877 a
858 878
859sFragmentValue 879sFragmentValue
860 = \(a :: _) -> case'SimpleFragment (\_ -> _) (\_ (b :: _) -> _rhs b) a 880 = \(a :: _) -> case'SimpleFragment
881 (\(_ :: _) -> _)
882 (\(_ :: _) (b :: _) -> _rhs b)
883 a
861 884
862'FragmentStream = \(a :: _) (b :: _) -> _rhs ['Fragment a b] 885'FragmentStream = \(a :: _) (b :: _) -> _rhs ['Fragment a b]
863 886
@@ -893,7 +916,7 @@ data ImageKind :: Type where
893imageType :: ImageKind -> Type 916imageType :: ImageKind -> Type
894imageType 917imageType
895 = \(a :: _) -> case'ImageKind 918 = \(a :: _) -> case'ImageKind
896 (\_ -> _) 919 (\(_ :: _) -> _)
897 (\(b :: _) -> _rhs b) 920 (\(b :: _) -> _rhs b)
898 (_rhs 'Float) 921 (_rhs 'Float)
899 (_rhs 'Int) 922 (_rhs 'Int)
@@ -923,23 +946,23 @@ data Swizz :: Type where
923swizzscalar :: forall (a :: _) (b :: _) . Vec b a -> Swizz -> a 946swizzscalar :: forall (a :: _) (b :: _) . Vec b a -> Swizz -> a
924swizzscalar 947swizzscalar
925 = \(a :: _) (b :: _) -> case'VecS 948 = \(a :: _) (b :: _) -> case'VecS
926 (\_ _ -> _) 949 (\(_ :: _) (_ :: _) -> _)
927 (\(c :: _) (d :: _) -> case'Swizz 950 (\(c :: _) (d :: _) -> case'Swizz
928 (\_ -> _) 951 (\(_ :: _) -> _)
929 (_rhs c) 952 (_rhs c)
930 (_rhs d) 953 (_rhs d)
931 (_rhs undefined) 954 (_rhs undefined)
932 (_rhs undefined) 955 (_rhs undefined)
933 b) 956 b)
934 (\(e :: _) (f :: _) (g :: _) -> case'Swizz 957 (\(e :: _) (f :: _) (g :: _) -> case'Swizz
935 (\_ -> _) 958 (\(_ :: _) -> _)
936 (_rhs e) 959 (_rhs e)
937 (_rhs f) 960 (_rhs f)
938 (_rhs g) 961 (_rhs g)
939 (_rhs undefined) 962 (_rhs undefined)
940 b) 963 b)
941 (\(h :: _) (i :: _) (j :: _) (k :: _) -> case'Swizz 964 (\(h :: _) (i :: _) (j :: _) (k :: _) -> case'Swizz
942 (\_ -> _) 965 (\(_ :: _) -> _)
943 (_rhs h) 966 (_rhs h)
944 (_rhs i) 967 (_rhs i)
945 (_rhs j) 968 (_rhs j)
@@ -950,17 +973,17 @@ swizzscalar
950definedVec :: forall (a :: _) (b :: _) . Vec b a -> Bool 973definedVec :: forall (a :: _) (b :: _) . Vec b a -> Bool
951definedVec 974definedVec
952 = \(a :: _) -> case'VecS 975 = \(a :: _) -> case'VecS
953 (\_ _ -> _) 976 (\(_ :: _) (_ :: _) -> _)
954 (\_ _ -> _rhs True) 977 (\(_ :: _) (_ :: _) -> _rhs True)
955 (\_ _ _ -> _rhs True) 978 (\(_ :: _) (_ :: _) (_ :: _) -> _rhs True)
956 (\_ _ _ _ -> _rhs True) 979 (\(_ :: _) (_ :: _) (_ :: _) (_ :: _) -> _rhs True)
957 a 980 a
958 981
959swizzvector 982swizzvector
960 :: forall (a :: _) (b :: _) (c :: _) . Vec b a -> Vec c Swizz -> Vec c a 983 :: forall (a :: _) (b :: _) (c :: _) . Vec b a -> Vec c Swizz -> Vec c a
961swizzvector 984swizzvector
962 = \(a :: _) (b :: _) -> case'Bool 985 = \(a :: _) (b :: _) -> case'Bool
963 (\_ -> _) 986 (\(_ :: _) -> _)
964 (_rhs undefined) 987 (_rhs undefined)
965 (_rhs (mapVec (swizzscalar a) b)) 988 (_rhs (mapVec (swizzscalar a) b))
966 (definedVec a) 989 (definedVec a)
@@ -1107,15 +1130,19 @@ rasterizePrimitives
1107 1130
1108'ImageLC :: Type -> Nat 1131'ImageLC :: Type -> Nat
1109'ImageLC 1132'ImageLC
1110 = \(a :: _) -> match'Image (\_ -> _) (\(b :: _) _ -> _rhs b) a undefined 1133 = \(a :: _) -> match'Image
1134 (\(_ :: _) -> _)
1135 (\(b :: _) (_ :: _) -> _rhs b)
1136 a
1137 undefined
1111 1138
1112allSame :: forall (a :: _) . [a] -> Constraint 1139allSame :: forall (a :: _) . [a] -> Constraint
1113allSame 1140allSame
1114 = \(a :: _) -> case'List 1141 = \(a :: _) -> case'List
1115 (\_ -> _) 1142 (\(_ :: _) -> _)
1116 (_rhs 'CUnit) 1143 (_rhs 'CUnit)
1117 (\(b :: _) (c :: _) -> case'List 1144 (\(b :: _) (c :: _) -> case'List
1118 (\_ -> _) 1145 (\(_ :: _) -> _)
1119 (_rhs 'CUnit) 1146 (_rhs 'CUnit)
1120 (\(d :: _) (e :: _) -> _rhs ('T2 (b `'EqCTt` d) (allSame (d : e)))) 1147 (\(d :: _) (e :: _) -> _rhs ('T2 (b `'EqCTt` d) (allSame (d : e))))
1121 c) 1148 c)
@@ -1129,11 +1156,11 @@ data FrameBuffer (_ :: Nat) (_ :: [ImageKind]) :: Type where
1129imageType' :: [ImageKind] -> [Type] 1156imageType' :: [ImageKind] -> [Type]
1130imageType' 1157imageType'
1131 = \(a :: _) -> case'List 1158 = \(a :: _) -> case'List
1132 (\_ -> _) 1159 (\(_ :: _) -> _)
1133 (_rhs (map imageType a)) 1160 (_rhs (map imageType a))
1134 (\(b :: _) (c :: _) -> case'ImageKind 1161 (\(b :: _) (c :: _) -> case'ImageKind
1135 (\_ -> _) 1162 (\(_ :: _) -> _)
1136 (\_ -> _rhs (map imageType a)) 1163 (\(_ :: _) -> _rhs (map imageType a))
1137 (_rhs (map imageType c)) 1164 (_rhs (map imageType c))
1138 (_rhs (map imageType a)) 1165 (_rhs (map imageType a))
1139 b) 1166 b)
@@ -1142,7 +1169,7 @@ imageType'
1142'FragmentOperationKind :: Type -> ImageKind 1169'FragmentOperationKind :: Type -> ImageKind
1143'FragmentOperationKind 1170'FragmentOperationKind
1144 = \(a :: _) -> match'FragmentOperation 1171 = \(a :: _) -> match'FragmentOperation
1145 (\_ -> _) 1172 (\(_ :: _) -> _)
1146 (\(b :: _) -> _rhs b) 1173 (\(b :: _) -> _rhs b)
1147 a 1174 a
1148 undefined 1175 undefined
@@ -1168,7 +1195,11 @@ infixl 0 overlay
1168 1195
1169'GetImageKind :: Type -> ImageKind 1196'GetImageKind :: Type -> ImageKind
1170'GetImageKind 1197'GetImageKind
1171 = \(a :: _) -> match'Image (\_ -> _) (\_ (b :: _) -> _rhs b) a undefined 1198 = \(a :: _) -> match'Image
1199 (\(_ :: _) -> _)
1200 (\(_ :: _) (b :: _) -> _rhs b)
1201 a
1202 undefined
1172 1203
1173FrameBuffer 1204FrameBuffer
1174 :: forall (a :: [Type]) 1205 :: forall (a :: [Type])
@@ -1214,383 +1245,1287 @@ data Sampler :: Type where
1214texture2D :: Sampler -> Vec (fromInt 2) Float -> Vec (fromInt 4) Float 1245texture2D :: Sampler -> Vec (fromInt 2) Float -> Vec (fromInt 4) Float
1215 1246
1216accumulationContext = \(a :: _) -> _rhs a 1247accumulationContext = \(a :: _) -> _rhs a
1217------------ trace 1248------------ core code
1218id :: forall a . a -> a 1249'BlendEquation :: Type
1219'VecS :: Type -> Nat -> Type 1250'BlendEquation
1220V2 :: forall a . a -> a -> VecS a 2 1251 = <<type constructor with 0 indices; constructors: FuncAdd, FuncSubtract, FuncReverseSubtract, Min, Max>>
1221V3 :: forall a . a -> a -> a -> VecS a 3 1252
1222V4 :: forall a . a -> a -> a -> a -> VecS a 4 1253'Blending :: Type -> Type
1223case'VecS 1254'Blending
1224 :: forall a 1255 = <<type constructor with 1 indices; constructors: NoBlending, BlendLogicOp, Blend>>
1225 . forall (b :: forall (c :: Nat) -> VecS a c -> Type) 1256
1226 -> (forall (d :: a) (e :: a) -> b 2 ('V2 d e)) 1257'BlendingFactor :: Type
1227 -> (forall (f :: a) (g :: a) (h :: a) -> b 3 ('V3 f g h)) 1258'BlendingFactor
1228 -> (forall (i :: a) (j :: a) (k :: a) (l :: a) -> b 4 ('V4 i j k l)) 1259 = <<type constructor with 0 indices; constructors: ZeroBF, OneBF, SrcColor, OneMinusSrcColor, DstColor, OneMinusDstColor, SrcAlpha, OneMinusSrcAlpha, DstAlpha, OneMinusDstAlpha, ConstantColor, OneMinusConstantColor, ConstantAlpha, OneMinusConstantAlpha, SrcAlphaSaturate>>
1229 -> forall (m :: Nat) . forall (n :: VecS a m) -> b m n 1260
1230match'VecS 1261'ComparisonFunction :: Type
1231 :: forall (a :: Type -> Type) 1262'ComparisonFunction
1232 -> (forall b (c :: Nat) -> a (VecS b c)) -> forall d -> a d -> a d 1263 = <<type constructor with 0 indices; constructors: Never, Less, Equal, Lequal, Greater, Notequal, Gequal, Always>>
1233mapVec :: forall a b (c :: Nat) . (a -> b) -> VecS a c -> VecS b c 1264
1265'Component :: Type -> Constraint
1266'Component
1267 = \a -> match'Int
1268 (\_ -> 'Constraint)
1269 (_rhs CUnit)
1270 a
1271 (match'Word
1272 (\_ -> 'Constraint)
1273 (_rhs CUnit)
1274 a
1275 (match'Float
1276 (\_ -> 'Constraint)
1277 (_rhs CUnit)
1278 a
1279 (match'VecS
1280 (\_ -> 'Constraint)
1281 (\b c -> match'Float
1282 (\_ -> 'Constraint)
1283 (case'Nat
1284 (\_ -> 'Constraint)
1285 (_rhs (CEmpty "no instance of 'Component on ???"))
1286 (\d -> case'Nat
1287 (\_ -> 'Constraint)
1288 (_rhs (CEmpty "no instance of 'Component on ???"))
1289 (\e -> case'Nat
1290 (\_ -> 'Constraint)
1291 (_rhs CUnit)
1292 (\f -> case'Nat
1293 (\_ -> 'Constraint)
1294 (_rhs CUnit)
1295 (\g -> case'Nat
1296 (\_ -> 'Constraint)
1297 (_rhs CUnit)
1298 (\_ -> _rhs (CEmpty "no instance of 'Component on ???"))
1299 g)
1300 f)
1301 e)
1302 d)
1303 c)
1304 b
1305 (match'Bool
1306 (\_ -> 'Constraint)
1307 (case'Nat
1308 (\_ -> 'Constraint)
1309 (_rhs (CEmpty "no instance of 'Component on ???"))
1310 (\h -> case'Nat
1311 (\_ -> 'Constraint)
1312 (_rhs (CEmpty "no instance of 'Component on ???"))
1313 (\i -> case'Nat
1314 (\_ -> 'Constraint)
1315 (_rhs CUnit)
1316 (\j -> case'Nat
1317 (\_ -> 'Constraint)
1318 (_rhs CUnit)
1319 (\k -> case'Nat
1320 (\_ -> 'Constraint)
1321 (_rhs CUnit)
1322 (\_ -> _rhs (CEmpty "no instance of 'Component on ???"))
1323 k)
1324 j)
1325 i)
1326 h)
1327 c)
1328 b
1329 (_rhs (CEmpty "no instance of 'Component on ???"))))
1330 a
1331 (match'Bool
1332 (\_ -> 'Constraint)
1333 (_rhs CUnit)
1334 a
1335 (_rhs (CEmpty "no instance of 'Component on ???"))))))
1336
1337'CullMode :: Type
1338'CullMode
1339 = <<type constructor with 0 indices; constructors: CullFront, CullBack, CullNone>>
1340
1341'EdgeMode :: Type
1342'EdgeMode
1343 = <<type constructor with 0 indices; constructors: Repeat, MirroredRepeat, ClampToEdge>>
1344
1345'Filter :: Type
1346'Filter
1347 = <<type constructor with 0 indices; constructors: PointFilter, LinearFilter>>
1348
1349'Floating :: Type -> Constraint
1350'Floating
1351 = \a -> match'Float
1352 (\_ -> 'Constraint)
1353 (_rhs CUnit)
1354 a
1355 (match'VecS
1356 (\_ -> 'Constraint)
1357 (\b c -> match'Float
1358 (\_ -> 'Constraint)
1359 (case'Nat
1360 (\_ -> 'Constraint)
1361 (_rhs (CEmpty "no instance of 'Floating on ???"))
1362 (\d -> case'Nat
1363 (\_ -> 'Constraint)
1364 (_rhs (CEmpty "no instance of 'Floating on ???"))
1365 (\e -> case'Nat
1366 (\_ -> 'Constraint)
1367 (_rhs CUnit)
1368 (\f -> case'Nat
1369 (\_ -> 'Constraint)
1370 (_rhs CUnit)
1371 (\g -> case'Nat
1372 (\_ -> 'Constraint)
1373 (_rhs CUnit)
1374 (\_ -> _rhs (CEmpty "no instance of 'Floating on ???"))
1375 g)
1376 f)
1377 e)
1378 d)
1379 c)
1380 b
1381 (_rhs (CEmpty "no instance of 'Floating on ???")))
1382 a
1383 (match'Mat
1384 (\_ -> 'Constraint)
1385 (\h i j -> case'Nat
1386 (\_ -> 'Constraint)
1387 (_rhs (CEmpty "no instance of 'Floating on ???"))
1388 (\k -> case'Nat
1389 (\_ -> 'Constraint)
1390 (_rhs (CEmpty "no instance of 'Floating on ???"))
1391 (\l -> case'Nat
1392 (\_ -> 'Constraint)
1393 (case'Nat
1394 (\_ -> 'Constraint)
1395 (_rhs (CEmpty "no instance of 'Floating on ???"))
1396 (\m -> case'Nat
1397 (\_ -> 'Constraint)
1398 (_rhs (CEmpty "no instance of 'Floating on ???"))
1399 (\n -> case'Nat
1400 (\_ -> 'Constraint)
1401 (match'Float
1402 (\_ -> 'Constraint)
1403 (_rhs CUnit)
1404 j
1405 (_rhs (CEmpty "no instance of 'Floating on ???")))
1406 (\o -> case'Nat
1407 (\_ -> 'Constraint)
1408 (match'Float
1409 (\_ -> 'Constraint)
1410 (_rhs CUnit)
1411 j
1412 (_rhs (CEmpty "no instance of 'Floating on ???")))
1413 (\p -> case'Nat
1414 (\_ -> 'Constraint)
1415 (match'Float
1416 (\_ -> 'Constraint)
1417 (_rhs CUnit)
1418 j
1419 (_rhs (CEmpty "no instance of 'Floating on ???")))
1420 (\_ -> _rhs (CEmpty "no instance of 'Floating on ???"))
1421 p)
1422 o)
1423 n)
1424 m)
1425 i)
1426 (\q -> case'Nat
1427 (\_ -> 'Constraint)
1428 (case'Nat
1429 (\_ -> 'Constraint)
1430 (_rhs (CEmpty "no instance of 'Floating on ???"))
1431 (\r -> case'Nat
1432 (\_ -> 'Constraint)
1433 (_rhs (CEmpty "no instance of 'Floating on ???"))
1434 (\s -> case'Nat
1435 (\_ -> 'Constraint)
1436 (match'Float
1437 (\_ -> 'Constraint)
1438 (_rhs CUnit)
1439 j
1440 (_rhs (CEmpty "no instance of 'Floating on ???")))
1441 (\t -> case'Nat
1442 (\_ -> 'Constraint)
1443 (match'Float
1444 (\_ -> 'Constraint)
1445 (_rhs CUnit)
1446 j
1447 (_rhs (CEmpty "no instance of 'Floating on ???")))
1448 (\u -> case'Nat
1449 (\_ -> 'Constraint)
1450 (match'Float
1451 (\_ -> 'Constraint)
1452 (_rhs CUnit)
1453 j
1454 (_rhs (CEmpty "no instance of 'Floating on ???")))
1455 (\_ -> _rhs (CEmpty "no instance of 'Floating on ???"))
1456 u)
1457 t)
1458 s)
1459 r)
1460 i)
1461 (\v -> case'Nat
1462 (\_ -> 'Constraint)
1463 (case'Nat
1464 (\_ -> 'Constraint)
1465 (_rhs (CEmpty "no instance of 'Floating on ???"))
1466 (\w -> case'Nat
1467 (\_ -> 'Constraint)
1468 (_rhs (CEmpty "no instance of 'Floating on ???"))
1469 (\x -> case'Nat
1470 (\_ -> 'Constraint)
1471 (match'Float
1472 (\_ -> 'Constraint)
1473 (_rhs CUnit)
1474 j
1475 (_rhs (CEmpty "no instance of 'Floating on ???")))
1476 (\y -> case'Nat
1477 (\_ -> 'Constraint)
1478 (match'Float
1479 (\_ -> 'Constraint)
1480 (_rhs CUnit)
1481 j
1482 (_rhs (CEmpty "no instance of 'Floating on ???")))
1483 (\z -> case'Nat
1484 (\_ -> 'Constraint)
1485 (match'Float
1486 (\_ -> 'Constraint)
1487 (_rhs CUnit)
1488 j
1489 (_rhs (CEmpty "no instance of 'Floating on ???")))
1490 (\_ -> _rhs (CEmpty "no instance of 'Floating on ???"))
1491 z)
1492 y)
1493 x)
1494 w)
1495 i)
1496 (\_ -> _rhs (CEmpty "no instance of 'Floating on ???"))
1497 v)
1498 q)
1499 l)
1500 k)
1501 h)
1502 a
1503 (_rhs (CEmpty "no instance of 'Floating on ???"))))
1504
1505'Fragment :: Nat -> Type -> Type
1506'Fragment = \a b -> _rhs ('Vector a ('Maybe ('SimpleFragment b)))
1507
1508'FragmentOperation :: ImageKind -> Type
1509'FragmentOperation
1510 = <<type constructor with 1 indices; constructors: ColorOp, DepthOp, StencilOp>>
1511
1512'FragmentOperationKind :: Type -> ImageKind
1513'FragmentOperationKind
1514 = \a -> match'FragmentOperation
1515 (\_ -> 'ImageKind)
1516 (\b -> _rhs b)
1517 a
1518 (undefined 'ImageKind)
1519
1520'FragmentStream :: Nat -> Type -> Type
1521'FragmentStream = \a b -> _rhs ['Vector a ('Maybe ('SimpleFragment b))]
1522
1523'FrameBuffer :: Nat -> [ImageKind] -> Type
1524'FrameBuffer = <<type constructor with 0 indices; constructors: >>
1525
1526'GetImageKind :: Type -> ImageKind
1527'GetImageKind
1528 = \a -> match'Image (\_ -> 'ImageKind) (\_ b -> _rhs b) a (undefined 'ImageKind)
1529
1530'Image :: Nat -> ImageKind -> Type
1531'Image = <<type constructor with 0 indices; constructors: >>
1532
1533'ImageKind :: Type
1534'ImageKind
1535 = <<type constructor with 0 indices; constructors: Color, Depth, Stencil>>
1536
1537'ImageLC :: Type -> Nat
1538'ImageLC = \a -> match'Image (\_ -> 'Nat) (\b _ -> _rhs b) a (undefined 'Nat)
1539
1540'Integral :: Type -> Constraint
1541'Integral
1542 = \a -> match'Int
1543 (\_ -> 'Constraint)
1544 (_rhs CUnit)
1545 a
1546 (match'Word
1547 (\_ -> 'Constraint)
1548 (_rhs CUnit)
1549 a
1550 (_rhs (CEmpty "no instance of 'Integral on ???")))
1551
1552'Interpolated :: Type -> Type
1553'Interpolated
1554 = <<type constructor with 0 indices; constructors: Smooth, NoPerspective, Flat>>
1555
1556'ListElem :: Type -> Type
1557'ListElem = \a -> match'List (\_ -> Type) (\b -> _rhs b) a (undefined Type)
1558
1559'LogicOperation :: Type
1560'LogicOperation
1561 = <<type constructor with 0 indices; constructors: Clear, And, AndReverse, Copy, AndInverted, Noop, Xor, Or, Nor, Equiv, Invert, OrReverse, CopyInverted, OrInverted, Nand, Set>>
1562
1563'Mat :: Nat -> Nat -> Type -> Type
1564'Mat
1565 = <<type constructor with 3 indices; constructors: M22F, M32F, M42F, M23F, M33F, M43F, M24F, M34F, M44F>>
1566
1567'MatVecScalarElem :: Type -> Type
1568'MatVecScalarElem
1569 = \a -> match'Float
1570 (\_ -> Type)
1571 (_rhs 'Float)
1572 a
1573 (match'Bool
1574 (\_ -> Type)
1575 (_rhs 'Bool)
1576 a
1577 (match'Int
1578 (\_ -> Type)
1579 (_rhs 'Int)
1580 a
1581 (match'VecS
1582 (\_ -> Type)
1583 (\b _ -> _rhs b)
1584 a
1585 (match'Mat (\_ -> Type) (\_ _ c -> _rhs c) a (undefined Type)))))
1586
1587'Maybe :: Type -> Type
1588'Maybe = <<type constructor with 0 indices; constructors: Nothing, Just>>
1589
1590'Output :: Type
1591'Output = <<type constructor with 0 indices; constructors: ScreenOut>>
1592
1593'PointSize :: Type -> Type
1594'PointSize
1595 = <<type constructor with 0 indices; constructors: PointSize, ProgramPointSize>>
1596
1597'PointSpriteCoordOrigin :: Type
1598'PointSpriteCoordOrigin
1599 = <<type constructor with 0 indices; constructors: LowerLeft, UpperLeft>>
1600
1601'PolygonMode :: Type -> Type
1602'PolygonMode
1603 = <<type constructor with 0 indices; constructors: PolygonFill, PolygonPoint, PolygonLine>>
1604
1605'PolygonOffset :: Type
1606'PolygonOffset
1607 = <<type constructor with 0 indices; constructors: NoOffset, Offset>>
1608
1609'Primitive :: Type -> PrimitiveType -> Type
1610'Primitive
1611 = <<type constructor with 1 indices; constructors: PrimPoint, PrimLine, PrimTriangle>>
1612
1613'PrimitiveStream :: PrimitiveType -> Type -> Type
1614'PrimitiveStream = \a b -> _rhs ['Primitive b a]
1615
1616'PrimitiveType :: Type
1617'PrimitiveType
1618 = <<type constructor with 0 indices; constructors: Triangle, Line, Point, TriangleAdjacency, LineAdjacency>>
1619
1620'ProvokingVertex :: Type
1621'ProvokingVertex
1622 = <<type constructor with 0 indices; constructors: LastVertex, FirstVertex>>
1623
1624'RasterContext :: Type -> PrimitiveType -> Type
1625'RasterContext
1626 = <<type constructor with 1 indices; constructors: TriangleCtx, PointCtx, LineCtx>>
1627
1628'Sampler :: Type
1629'Sampler = <<type constructor with 0 indices; constructors: Sampler>>
1630
1631'Signed :: Type -> Constraint
1632'Signed
1633 = \a -> match'Int
1634 (\_ -> 'Constraint)
1635 (_rhs CUnit)
1636 a
1637 (match'Float
1638 (\_ -> 'Constraint)
1639 (_rhs CUnit)
1640 a
1641 (_rhs (CEmpty "no instance of 'Signed on ???")))
1642
1643'SimpleFragment :: Type -> Type
1644'SimpleFragment
1645 = <<type constructor with 0 indices; constructors: SimpleFragment>>
1646
1647'StencilOperation :: Type
1648'StencilOperation
1649 = <<type constructor with 0 indices; constructors: OpZero, OpKeep, OpReplace, OpIncr, OpIncrWrap, OpDecr, OpDecrWrap, OpInvert>>
1650
1651'StencilOps :: Type
1652'StencilOps = <<type constructor with 0 indices; constructors: >>
1653
1654'StencilTests :: Type
1655'StencilTests = <<type constructor with 0 indices; constructors: >>
1656
1657'Swizz :: Type
1658'Swizz = <<type constructor with 0 indices; constructors: Sx, Sy, Sz, Sw>>
1659
1660'Texture :: Type
1661'Texture
1662 = <<type constructor with 0 indices; constructors: Texture2DSlot, Texture2D>>
1663
1234'Vec :: Nat -> Type -> Type 1664'Vec :: Nat -> Type -> Type
1665'Vec = \a b -> _rhs ('VecS b a)
1666
1667'VecS :: Type -> Nat -> Type
1668'VecS = <<type constructor with 1 indices; constructors: V2, V3, V4>>
1669
1235'VecScalar :: Nat -> Type -> Type 1670'VecScalar :: Nat -> Type -> Type
1236'Mat :: Nat -> Nat -> Type -> Type 1671'VecScalar
1672 = \a b -> case'Nat
1673 (\_ -> Type)
1674 (undefined Type)
1675 (\c -> case'Nat (\_ -> Type) (_rhs b) (\d -> _rhs ('VecS b (Succ (Succ d)))) c)
1676 a
1677
1678'Vector :: Nat -> Type -> Type
1679'Vector = <<type constructor with 0 indices; constructors: >>
1680
1681++ :: forall a . [a] -> [a] -> [a]
1682++
1683 = \a -> primFix
1684 ([a] -> [a] -> [a])
1685 \b c d -> case'List (\_ -> [a]) (_rhs d) (\e f -> _rhs (e : b f d)) c
1686
1687Accumulate
1688 :: forall (a :: [ImageKind]) (b :: Nat) (c :: [Type])
1689 . (a ~ (map Type ImageKind FragmentOperationKind c :: [ImageKind]))
1690 => HList c
1691 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a
1692Accumulate = \a b c d e f g -> <<builtin>>
1693
1694Always :: ComparisonFunction
1695Always = <<7th constructor of 'ComparisonFunction>>
1696
1697And :: LogicOperation
1698And = <<1st constructor of 'LogicOperation>>
1699
1700AndInverted :: LogicOperation
1701AndInverted = <<4th constructor of 'LogicOperation>>
1702
1703AndReverse :: LogicOperation
1704AndReverse = <<2nd constructor of 'LogicOperation>>
1705
1706Attribute :: forall a . String -> a
1707Attribute = \a b -> <<builtin>>
1708
1709Blend
1710 :: (BlendEquation, BlendEquation)
1711 -> ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor))
1712 -> Vec 4 Float -> Blending Float
1713Blend = <<2nd constructor of 'Blending>>
1714
1715BlendLogicOp :: forall a . Integral a => LogicOperation -> Blending a
1716BlendLogicOp = <<1st constructor of 'Blending>>
1717
1718ClampToEdge :: EdgeMode
1719ClampToEdge = <<2nd constructor of 'EdgeMode>>
1720
1721Clear :: LogicOperation
1722Clear = <<0th constructor of 'LogicOperation>>
1723
1724Color :: Type -> ImageKind
1725Color = <<0th constructor of 'ImageKind>>
1726
1727ColorImage
1728 :: forall (a :: Nat) (b :: Nat) c d
1729 . (Num c, d ~ VecScalar b c) => d -> Image a ('Color d)
1730ColorImage = \a b c d e f g -> <<builtin>>
1731
1732ColorOp
1733 :: forall a (b :: Nat)
1734 . Num a
1735 => Blending a -> VecScalar b Bool -> FragmentOperation ('Color (VecScalar b a))
1736ColorOp = <<0th constructor of 'FragmentOperation>>
1737
1738ConstantAlpha :: BlendingFactor
1739ConstantAlpha = <<12th constructor of 'BlendingFactor>>
1740
1741ConstantColor :: BlendingFactor
1742ConstantColor = <<10th constructor of 'BlendingFactor>>
1743
1744Copy :: LogicOperation
1745Copy = <<3rd constructor of 'LogicOperation>>
1746
1747CopyInverted :: LogicOperation
1748CopyInverted = <<12th constructor of 'LogicOperation>>
1749
1750CullBack :: CullMode
1751CullBack = <<1st constructor of 'CullMode>>
1752
1753CullFront :: CullMode
1754CullFront = <<0th constructor of 'CullMode>>
1755
1756CullNone :: CullMode
1757CullNone = <<2nd constructor of 'CullMode>>
1758
1759Depth :: ImageKind
1760Depth = <<1st constructor of 'ImageKind>>
1761
1762DepthImage :: forall (a :: Nat) . Float -> Image a 'Depth
1763DepthImage = \a b -> <<builtin>>
1764
1765DepthOp :: ComparisonFunction -> Bool -> FragmentOperation 'Depth
1766DepthOp = <<1st constructor of 'FragmentOperation>>
1767
1768DstAlpha :: BlendingFactor
1769DstAlpha = <<8th constructor of 'BlendingFactor>>
1770
1771DstColor :: BlendingFactor
1772DstColor = <<4th constructor of 'BlendingFactor>>
1773
1774Equal :: ComparisonFunction
1775Equal = <<2nd constructor of 'ComparisonFunction>>
1776
1777Equiv :: LogicOperation
1778Equiv = <<9th constructor of 'LogicOperation>>
1779
1780FirstVertex :: ProvokingVertex
1781FirstVertex = <<1st constructor of 'ProvokingVertex>>
1782
1783Flat :: forall a . Interpolated a
1784Flat = <<2nd constructor of 'Interpolated>>
1785
1786FrameBuffer
1787 :: forall (a :: [Type])
1788 . sameLayerCounts a
1789 => HList a
1790 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a)
1791FrameBuffer = \a b c -> <<builtin>>
1792
1793FuncAdd :: BlendEquation
1794FuncAdd = <<0th constructor of 'BlendEquation>>
1795
1796FuncReverseSubtract :: BlendEquation
1797FuncReverseSubtract = <<2nd constructor of 'BlendEquation>>
1798
1799FuncSubtract :: BlendEquation
1800FuncSubtract = <<1st constructor of 'BlendEquation>>
1801
1802Gequal :: ComparisonFunction
1803Gequal = <<6th constructor of 'ComparisonFunction>>
1804
1805Greater :: ComparisonFunction
1806Greater = <<4th constructor of 'ComparisonFunction>>
1807
1808Invert :: LogicOperation
1809Invert = <<10th constructor of 'LogicOperation>>
1810
1811Just :: forall a . a -> Maybe a
1812Just = <<1st constructor of 'Maybe>>
1813
1814LastVertex :: ProvokingVertex
1815LastVertex = <<0th constructor of 'ProvokingVertex>>
1816
1817Lequal :: ComparisonFunction
1818Lequal = <<3rd constructor of 'ComparisonFunction>>
1819
1820Less :: ComparisonFunction
1821Less = <<1st constructor of 'ComparisonFunction>>
1822
1823Line :: PrimitiveType
1824Line = <<1st constructor of 'PrimitiveType>>
1825
1826LineAdjacency :: PrimitiveType
1827LineAdjacency = <<4th constructor of 'PrimitiveType>>
1828
1829LineCtx :: forall a . Float -> ProvokingVertex -> RasterContext a 'Line
1830LineCtx = <<2nd constructor of 'RasterContext>>
1831
1832LinearFilter :: Filter
1833LinearFilter = <<1st constructor of 'Filter>>
1834
1835LowerLeft :: PointSpriteCoordOrigin
1836LowerLeft = <<0th constructor of 'PointSpriteCoordOrigin>>
1837
1237M22F :: Vec 2 Float -> Vec 2 Float -> Mat 2 2 Float 1838M22F :: Vec 2 Float -> Vec 2 Float -> Mat 2 2 Float
1238M32F :: Vec 3 Float -> Vec 3 Float -> Mat 3 2 Float 1839M22F = <<0th constructor of 'Mat>>
1239M42F :: Vec 4 Float -> Vec 4 Float -> Mat 4 2 Float 1840
1240M23F :: Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Mat 2 3 Float 1841M23F :: Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Mat 2 3 Float
1241M33F :: Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 3 Float 1842M23F = <<3rd constructor of 'Mat>>
1242M43F :: Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 3 Float 1843
1243M24F 1844M24F
1244 :: Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Mat 2 4 Float 1845 :: Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Mat 2 4 Float
1846M24F = <<6th constructor of 'Mat>>
1847
1848M32F :: Vec 3 Float -> Vec 3 Float -> Mat 3 2 Float
1849M32F = <<1st constructor of 'Mat>>
1850
1851M33F :: Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 3 Float
1852M33F = <<4th constructor of 'Mat>>
1853
1245M34F 1854M34F
1246 :: Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 4 Float 1855 :: Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 4 Float
1856M34F = <<7th constructor of 'Mat>>
1857
1858M42F :: Vec 4 Float -> Vec 4 Float -> Mat 4 2 Float
1859M42F = <<2nd constructor of 'Mat>>
1860
1861M43F :: Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 3 Float
1862M43F = <<5th constructor of 'Mat>>
1863
1247M44F 1864M44F
1248 :: Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float 1865 :: Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float
1249case'Mat 1866M44F = <<8th constructor of 'Mat>>
1250 :: forall (a :: forall (b :: Nat) (c :: Nat) d -> Mat b c d -> Type) 1867
1251 -> (forall (e :: Vec 2 Float) (f :: Vec 2 Float) -> a 2 2 Float ('M22F e f)) 1868Max :: BlendEquation
1252 -> (forall (g :: Vec 3 Float) (h :: Vec 3 Float) -> a 3 2 Float ('M32F g h)) 1869Max = <<4th constructor of 'BlendEquation>>
1253 -> (forall (i :: Vec 4 Float) (j :: Vec 4 Float) -> a 4 2 Float ('M42F i j)) 1870
1254 -> (forall (k :: Vec 2 Float) (l :: Vec 2 Float) (m :: Vec 2 Float) 1871Min :: BlendEquation
1255 -> a 2 3 Float ('M23F k l m)) 1872Min = <<3rd constructor of 'BlendEquation>>
1256 -> (forall (n :: Vec 3 Float) (o :: Vec 3 Float) (p :: Vec 3 Float) 1873
1257 -> a 3 3 Float ('M33F n o p)) 1874MirroredRepeat :: EdgeMode
1258 -> (forall (q :: Vec 4 Float) (r :: Vec 4 Float) (s :: Vec 4 Float) 1875MirroredRepeat = <<1st constructor of 'EdgeMode>>
1259 -> a 4 3 Float ('M43F q r s)) 1876
1260 -> (forall (t :: Vec 2 Float) 1877Nand :: LogicOperation
1261 (u :: Vec 2 Float) (v :: Vec 2 Float) (w :: Vec 2 Float) 1878Nand = <<14th constructor of 'LogicOperation>>
1262 -> a 2 4 Float ('M24F t u v w)) 1879
1263 -> (forall (x :: Vec 3 Float) 1880Never :: ComparisonFunction
1264 (y :: Vec 3 Float) (z :: Vec 3 Float) (a' :: Vec 3 Float) 1881Never = <<0th constructor of 'ComparisonFunction>>
1265 -> a 3 4 Float ('M34F x y z a')) 1882
1266 -> (forall (b' :: Vec 4 Float) 1883NoBlending :: forall a . Blending a
1267 (c' :: Vec 4 Float) (d' :: Vec 4 Float) (e' :: Vec 4 Float) 1884NoBlending = <<0th constructor of 'Blending>>
1268 -> a 4 4 Float ('M44F b' c' d' e')) 1885
1269 -> forall (f' :: Nat) (g' :: Nat) h' 1886NoOffset :: PolygonOffset
1270 . forall (i' :: Mat f' g' h') -> a f' g' h' i' 1887NoOffset = <<0th constructor of 'PolygonOffset>>
1271match'Mat 1888
1272 :: forall (a :: Type -> Type) 1889NoPerspective :: forall a . Floating a => Interpolated a
1273 -> (forall (b :: Nat) (c :: Nat) d -> a (Mat b c d)) -> forall e -> a e -> a e 1890NoPerspective = <<1st constructor of 'Interpolated>>
1274'MatVecScalarElem :: Type -> Type 1891
1275'Signed :: Type -> Constraint 1892Noop :: LogicOperation
1276'Component :: Type -> Constraint 1893Noop = <<5th constructor of 'LogicOperation>>
1277zero :: forall a . Component a => a 1894
1278one :: forall a . Component a => a 1895Nor :: LogicOperation
1279'Integral :: Type -> Constraint 1896Nor = <<8th constructor of 'LogicOperation>>
1280'Floating :: Type -> Constraint 1897
1898Notequal :: ComparisonFunction
1899Notequal = <<5th constructor of 'ComparisonFunction>>
1900
1901Nothing :: forall a . Maybe a
1902Nothing = <<0th constructor of 'Maybe>>
1903
1904Offset :: Float -> Float -> PolygonOffset
1905Offset = <<1st constructor of 'PolygonOffset>>
1906
1907OneBF :: BlendingFactor
1908OneBF = <<1st constructor of 'BlendingFactor>>
1909
1910OneMinusConstantAlpha :: BlendingFactor
1911OneMinusConstantAlpha = <<13th constructor of 'BlendingFactor>>
1912
1913OneMinusConstantColor :: BlendingFactor
1914OneMinusConstantColor = <<11th constructor of 'BlendingFactor>>
1915
1916OneMinusDstAlpha :: BlendingFactor
1917OneMinusDstAlpha = <<9th constructor of 'BlendingFactor>>
1918
1919OneMinusDstColor :: BlendingFactor
1920OneMinusDstColor = <<5th constructor of 'BlendingFactor>>
1921
1922OneMinusSrcAlpha :: BlendingFactor
1923OneMinusSrcAlpha = <<7th constructor of 'BlendingFactor>>
1924
1925OneMinusSrcColor :: BlendingFactor
1926OneMinusSrcColor = <<3rd constructor of 'BlendingFactor>>
1927
1928OpDecr :: StencilOperation
1929OpDecr = <<5th constructor of 'StencilOperation>>
1930
1931OpDecrWrap :: StencilOperation
1932OpDecrWrap = <<6th constructor of 'StencilOperation>>
1933
1934OpIncr :: StencilOperation
1935OpIncr = <<3rd constructor of 'StencilOperation>>
1936
1937OpIncrWrap :: StencilOperation
1938OpIncrWrap = <<4th constructor of 'StencilOperation>>
1939
1940OpInvert :: StencilOperation
1941OpInvert = <<7th constructor of 'StencilOperation>>
1942
1943OpKeep :: StencilOperation
1944OpKeep = <<1st constructor of 'StencilOperation>>
1945
1946OpReplace :: StencilOperation
1947OpReplace = <<2nd constructor of 'StencilOperation>>
1948
1949OpZero :: StencilOperation
1950OpZero = <<0th constructor of 'StencilOperation>>
1951
1952Or :: LogicOperation
1953Or = <<7th constructor of 'LogicOperation>>
1954
1955OrInverted :: LogicOperation
1956OrInverted = <<13th constructor of 'LogicOperation>>
1957
1958OrReverse :: LogicOperation
1959OrReverse = <<11th constructor of 'LogicOperation>>
1960
1961Point :: PrimitiveType
1962Point = <<2nd constructor of 'PrimitiveType>>
1963
1964PointCtx
1965 :: forall a
1966 . PointSize a -> Float -> PointSpriteCoordOrigin -> RasterContext a 'Point
1967PointCtx = <<1st constructor of 'RasterContext>>
1968
1969PointFilter :: Filter
1970PointFilter = <<0th constructor of 'Filter>>
1971
1972PointSize :: forall a . Float -> PointSize a
1973PointSize = <<0th constructor of 'PointSize>>
1974
1975PolygonFill :: forall a . PolygonMode a
1976PolygonFill = <<0th constructor of 'PolygonMode>>
1977
1978PolygonLine :: forall a . Float -> PolygonMode a
1979PolygonLine = <<2nd constructor of 'PolygonMode>>
1980
1981PolygonPoint :: forall a . PointSize a -> PolygonMode a
1982PolygonPoint = <<1st constructor of 'PolygonMode>>
1983
1984PrimACos :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1985PrimACos = \a b c d -> <<builtin>>
1986
1987PrimACosH :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1988PrimACosH = \a b c d -> <<builtin>>
1989
1990PrimASin :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1991PrimASin = \a b c d -> <<builtin>>
1992
1993PrimASinH :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1994PrimASinH = \a b c d -> <<builtin>>
1995
1996PrimATan :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1997PrimATan = \a b c d -> <<builtin>>
1998
1999PrimATan2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a
2000PrimATan2 = \a b c d e -> <<builtin>>
2001
2002PrimATanH :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2003PrimATanH = \a b c d -> <<builtin>>
2004
2005PrimAbs :: forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b
2006PrimAbs = \a b c d e f -> <<builtin>>
2007
1281PrimAdd :: forall a . Num (MatVecScalarElem a) => a -> a -> a 2008PrimAdd :: forall a . Num (MatVecScalarElem a) => a -> a -> a
1282PrimSub :: forall a . Num (MatVecScalarElem a) => a -> a -> a 2009PrimAdd = \a b c d -> <<builtin>>
1283PrimMul :: forall a . Num (MatVecScalarElem a) => a -> a -> a 2010
1284PrimAddS :: forall a b . (a ~ MatVecScalarElem b, Num a) => b -> a -> b 2011PrimAddS :: forall a b . (a ~ MatVecScalarElem b, Num a) => b -> a -> b
1285PrimSubS :: forall a b . (a ~ MatVecScalarElem b, Num a) => b -> a -> b 2012PrimAddS = \a b c d e f -> <<builtin>>
1286PrimMulS :: forall a b . (a ~ MatVecScalarElem b, Num a) => b -> a -> b 2013
1287PrimDiv :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b 2014PrimAll :: forall (a :: Nat) . VecScalar a Bool -> Bool
1288PrimMod :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b 2015PrimAll = \a b -> <<builtin>>
1289PrimDivS :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b 2016
1290PrimModS :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b 2017PrimAnd :: Bool -> Bool -> Bool
1291PrimNeg :: forall a . Signed (MatVecScalarElem a) => a -> a 2018PrimAnd = \a b -> <<builtin>>
2019
2020PrimAny :: forall (a :: Nat) . VecScalar a Bool -> Bool
2021PrimAny = \a b -> <<builtin>>
2022
1292PrimBAnd 2023PrimBAnd
1293 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b 2024 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b
1294PrimBOr 2025PrimBAnd = \a b c d e f g -> <<builtin>>
1295 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b 2026
1296PrimBXor
1297 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b
1298PrimBAndS 2027PrimBAndS
1299 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b 2028 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b
2029PrimBAndS = \a b c d e f g -> <<builtin>>
2030
2031PrimBNot :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b
2032PrimBNot = \a b c d e f -> <<builtin>>
2033
2034PrimBOr
2035 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b
2036PrimBOr = \a b c d e f g -> <<builtin>>
2037
1300PrimBOrS 2038PrimBOrS
1301 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b 2039 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b
1302PrimBXorS 2040PrimBOrS = \a b c d e f g -> <<builtin>>
1303 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b 2041
1304PrimBNot :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b
1305PrimBShiftL 2042PrimBShiftL
1306 :: forall a b (c :: Nat) d 2043 :: forall a b (c :: Nat) d
1307 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b 2044 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b
2045PrimBShiftL = \a b c d e f g h i -> <<builtin>>
2046
2047PrimBShiftLS
2048 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b
2049PrimBShiftLS = \a b c d e f g -> <<builtin>>
2050
1308PrimBShiftR 2051PrimBShiftR
1309 :: forall a b (c :: Nat) d 2052 :: forall a b (c :: Nat) d
1310 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b 2053 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b
1311PrimBShiftLS 2054PrimBShiftR = \a b c d e f g h i -> <<builtin>>
1312 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b 2055
1313PrimBShiftRS 2056PrimBShiftRS
1314 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b 2057 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b
1315PrimAnd :: Bool -> Bool -> Bool 2058PrimBShiftRS = \a b c d e f g -> <<builtin>>
1316PrimOr :: Bool -> Bool -> Bool 2059
1317PrimXor :: Bool -> Bool -> Bool 2060PrimBXor
1318PrimNot :: forall a (b :: Nat) . (a ~ VecScalar b Bool) => a -> a 2061 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b
1319PrimAny :: forall (a :: Nat) . VecScalar a Bool -> Bool 2062PrimBXor = \a b c d e f g -> <<builtin>>
1320PrimAll :: forall (a :: Nat) . VecScalar a Bool -> Bool 2063
1321PrimACos :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 2064PrimBXorS
1322PrimACosH :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 2065 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b
1323PrimASin :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 2066PrimBXorS = \a b c d e f g -> <<builtin>>
1324PrimASinH :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 2067
1325PrimATan :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1326PrimATanH :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1327PrimCos :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1328PrimCosH :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1329PrimDegrees :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1330PrimRadians :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1331PrimSin :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1332PrimSinH :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1333PrimTan :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1334PrimTanH :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1335PrimExp :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1336PrimLog :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1337PrimExp2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1338PrimLog2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1339PrimSqrt :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1340PrimInvSqrt :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1341PrimPow :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a
1342PrimATan2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a
1343PrimFloor :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1344PrimTrunc :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1345PrimRound :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1346PrimRoundEven :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1347PrimCeil :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 2068PrimCeil :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1348PrimFract :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 2069PrimCeil = \a b c d -> <<builtin>>
1349PrimMin :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b 2070
1350PrimMax :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b
1351PrimMinS :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b
1352PrimMaxS :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b
1353PrimIsNan
1354 :: forall a (b :: Nat) c
1355 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c
1356PrimIsInf
1357 :: forall a (b :: Nat) c
1358 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c
1359PrimAbs :: forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b
1360PrimSign :: forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b
1361PrimModF :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> (a, a)
1362PrimClamp 2071PrimClamp
1363 :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b -> b 2072 :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b -> b
2073PrimClamp = \a b c d e f g h -> <<builtin>>
2074
1364PrimClampS 2075PrimClampS
1365 :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> a -> b 2076 :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> a -> b
1366PrimMix :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a 2077PrimClampS = \a b c d e f g h -> <<builtin>>
1367PrimMixS 2078
1368 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float -> a 2079PrimCos :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1369PrimMixB 2080PrimCos = \a b c d -> <<builtin>>
1370 :: forall a (b :: Nat) c 2081
1371 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> a -> c -> a 2082PrimCosH :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1372PrimStep :: forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a 2083PrimCosH = \a b c d -> <<builtin>>
1373PrimStepS :: forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> a -> a 2084
1374PrimSmoothStep :: forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a -> a
1375PrimSmoothStepS
1376 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> Float -> a -> a
1377PrimFloatBitsToInt :: forall (a :: Nat) . VecScalar a Float -> VecScalar a Int
1378PrimFloatBitsToUInt :: forall (a :: Nat) . VecScalar a Float -> VecScalar a Word
1379PrimIntBitsToFloat :: forall (a :: Nat) . VecScalar a Int -> VecScalar a Float
1380PrimUIntBitsToFloat :: forall (a :: Nat) . VecScalar a Word -> VecScalar a Float
1381PrimLength :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> Float
1382PrimDistance :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float
1383PrimDot :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float
1384PrimCross :: forall a . (a ~ VecS Float 3) => a -> a -> a 2085PrimCross :: forall a . (a ~ VecS Float 3) => a -> a -> a
1385PrimNormalize :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 2086PrimCross = \a b c d -> <<builtin>>
1386PrimFaceForward 2087
1387 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a 2088PrimDFdx :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1388PrimRefract :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a 2089PrimDFdx = \a b c d -> <<builtin>>
1389PrimReflect :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a 2090
1390PrimTranspose :: forall (a :: Nat) (b :: Nat) c . Mat a b c -> Mat b a c 2091PrimDFdy :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2092PrimDFdy = \a b c d -> <<builtin>>
2093
2094PrimDegrees :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2095PrimDegrees = \a b c d -> <<builtin>>
2096
1391PrimDeterminant :: forall (a :: Nat) b . Mat a a b -> Float 2097PrimDeterminant :: forall (a :: Nat) b . Mat a a b -> Float
1392PrimInverse :: forall (a :: Nat) b . Mat a a b -> Mat a a b 2098PrimDeterminant = \a b c -> <<builtin>>
1393PrimOuterProduct 2099
1394 :: forall (a :: Nat) b (c :: Nat) . Vec a b -> Vec c b -> Mat c a b 2100PrimDistance :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float
1395PrimMulMatVec 2101PrimDistance = \a b c d e -> <<builtin>>
1396 :: forall (a :: Nat) (b :: Nat) c . Mat a b c -> Vec b c -> Vec a c 2102
1397PrimMulVecMat 2103PrimDiv :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b
1398 :: forall (a :: Nat) b (c :: Nat) . Vec a b -> Mat a c b -> Vec c b 2104PrimDiv = \a b c d e f g -> <<builtin>>
1399PrimMulMatMat 2105
1400 :: forall (a :: Nat) (b :: Nat) c (d :: Nat) 2106PrimDivS :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b
1401 . Mat a b c -> Mat b d c -> Mat a d c 2107PrimDivS = \a b c d e f g -> <<builtin>>
1402PrimLessThan 2108
1403 :: forall a (b :: Nat) c d 2109PrimDot :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float
1404 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 2110PrimDot = \a b c d e -> <<builtin>>
1405PrimLessThanEqual 2111
2112PrimEqual :: forall a b . (b ~ MatVecScalarElem a) => a -> a -> Bool
2113PrimEqual = \a b c d e -> <<builtin>>
2114
2115PrimEqualV
1406 :: forall a (b :: Nat) c d 2116 :: forall a (b :: Nat) c d
1407 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 2117 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d
2118PrimEqualV = \a b c d e f g h i -> <<builtin>>
2119
2120PrimExp :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2121PrimExp = \a b c d -> <<builtin>>
2122
2123PrimExp2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2124PrimExp2 = \a b c d -> <<builtin>>
2125
2126PrimFWidth :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2127PrimFWidth = \a b c d -> <<builtin>>
2128
2129PrimFaceForward
2130 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a
2131PrimFaceForward = \a b c d e f -> <<builtin>>
2132
2133PrimFloatBitsToInt :: forall (a :: Nat) . VecScalar a Float -> VecScalar a Int
2134PrimFloatBitsToInt = \a b -> <<builtin>>
2135
2136PrimFloatBitsToUInt :: forall (a :: Nat) . VecScalar a Float -> VecScalar a Word
2137PrimFloatBitsToUInt = \a b -> <<builtin>>
2138
2139PrimFloor :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2140PrimFloor = \a b c d -> <<builtin>>
2141
2142PrimFract :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2143PrimFract = \a b c d -> <<builtin>>
2144
1408PrimGreaterThan 2145PrimGreaterThan
1409 :: forall a (b :: Nat) c d 2146 :: forall a (b :: Nat) c d
1410 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 2147 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d
2148PrimGreaterThan = \a b c d e f g h i -> <<builtin>>
2149
1411PrimGreaterThanEqual 2150PrimGreaterThanEqual
1412 :: forall a (b :: Nat) c d 2151 :: forall a (b :: Nat) c d
1413 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 2152 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d
1414PrimEqualV 2153PrimGreaterThanEqual = \a b c d e f g h i -> <<builtin>>
2154
2155PrimIntBitsToFloat :: forall (a :: Nat) . VecScalar a Int -> VecScalar a Float
2156PrimIntBitsToFloat = \a b -> <<builtin>>
2157
2158PrimInvSqrt :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2159PrimInvSqrt = \a b c d -> <<builtin>>
2160
2161PrimInverse :: forall (a :: Nat) b . Mat a a b -> Mat a a b
2162PrimInverse = \a b c -> <<builtin>>
2163
2164PrimIsInf
2165 :: forall a (b :: Nat) c
2166 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c
2167PrimIsInf = \a b c d e f -> <<builtin>>
2168
2169PrimIsNan
2170 :: forall a (b :: Nat) c
2171 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c
2172PrimIsNan = \a b c d e f -> <<builtin>>
2173
2174PrimLength :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> Float
2175PrimLength = \a b c d -> <<builtin>>
2176
2177PrimLessThan
1415 :: forall a (b :: Nat) c d 2178 :: forall a (b :: Nat) c d
1416 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 2179 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d
1417PrimNotEqualV 2180PrimLessThan = \a b c d e f g h i -> <<builtin>>
2181
2182PrimLessThanEqual
1418 :: forall a (b :: Nat) c d 2183 :: forall a (b :: Nat) c d
1419 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 2184 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d
1420PrimEqual :: forall a b . (b ~ MatVecScalarElem a) => a -> a -> Bool 2185PrimLessThanEqual = \a b c d e f g h i -> <<builtin>>
1421PrimNotEqual :: forall a b . (b ~ MatVecScalarElem a) => a -> a -> Bool 2186
1422PrimDFdx :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 2187PrimLine :: forall a . a -> a -> Primitive a 'Line
1423PrimDFdy :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 2188PrimLine = <<1st constructor of 'Primitive>>
1424PrimFWidth :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 2189
2190PrimLog :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2191PrimLog = \a b c d -> <<builtin>>
2192
2193PrimLog2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2194PrimLog2 = \a b c d -> <<builtin>>
2195
2196PrimMax :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b
2197PrimMax = \a b c d e f g -> <<builtin>>
2198
2199PrimMaxS :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b
2200PrimMaxS = \a b c d e f g -> <<builtin>>
2201
2202PrimMin :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b
2203PrimMin = \a b c d e f g -> <<builtin>>
2204
2205PrimMinS :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b
2206PrimMinS = \a b c d e f g -> <<builtin>>
2207
2208PrimMix :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a
2209PrimMix = \a b c d e f -> <<builtin>>
2210
2211PrimMixB
2212 :: forall a (b :: Nat) c
2213 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> a -> c -> a
2214PrimMixB = \a b c d e f g h -> <<builtin>>
2215
2216PrimMixS
2217 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float -> a
2218PrimMixS = \a b c d e f -> <<builtin>>
2219
2220PrimMod :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b
2221PrimMod = \a b c d e f g -> <<builtin>>
2222
2223PrimModF :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> (a, a)
2224PrimModF = \a b c d -> <<builtin>>
2225
2226PrimModS :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b
2227PrimModS = \a b c d e f g -> <<builtin>>
2228
2229PrimMul :: forall a . Num (MatVecScalarElem a) => a -> a -> a
2230PrimMul = \a b c d -> <<builtin>>
2231
2232PrimMulMatMat
2233 :: forall (a :: Nat) (b :: Nat) c (d :: Nat)
2234 . Mat a b c -> Mat b d c -> Mat a d c
2235PrimMulMatMat = \a b c d e f -> <<builtin>>
2236
2237PrimMulMatVec
2238 :: forall (a :: Nat) (b :: Nat) c . Mat a b c -> Vec b c -> Vec a c
2239PrimMulMatVec = \a b c d e -> <<builtin>>
2240
2241PrimMulS :: forall a b . (a ~ MatVecScalarElem b, Num a) => b -> a -> b
2242PrimMulS = \a b c d e f -> <<builtin>>
2243
2244PrimMulVecMat
2245 :: forall (a :: Nat) b (c :: Nat) . Vec a b -> Mat a c b -> Vec c b
2246PrimMulVecMat = \a b c d e -> <<builtin>>
2247
2248PrimNeg :: forall a . Signed (MatVecScalarElem a) => a -> a
2249PrimNeg = \a b c -> <<builtin>>
2250
1425PrimNoise1 :: forall (a :: Nat) . VecScalar a Float -> Float 2251PrimNoise1 :: forall (a :: Nat) . VecScalar a Float -> Float
2252PrimNoise1 = \a b -> <<builtin>>
2253
1426PrimNoise2 :: forall (a :: Nat) . VecScalar a Float -> Vec 2 Float 2254PrimNoise2 :: forall (a :: Nat) . VecScalar a Float -> Vec 2 Float
2255PrimNoise2 = \a b -> <<builtin>>
2256
1427PrimNoise3 :: forall (a :: Nat) . VecScalar a Float -> Vec 3 Float 2257PrimNoise3 :: forall (a :: Nat) . VecScalar a Float -> Vec 3 Float
2258PrimNoise3 = \a b -> <<builtin>>
2259
1428PrimNoise4 :: forall (a :: Nat) . VecScalar a Float -> Vec 4 Float 2260PrimNoise4 :: forall (a :: Nat) . VecScalar a Float -> Vec 4 Float
1429head :: forall a . [a] -> a 2261PrimNoise4 = \a b -> <<builtin>>
1430(++) :: forall a . [a] -> [a] -> [a] 2262
1431foldr :: forall a b . (b -> a -> a) -> a -> [b] -> a 2263PrimNormalize :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1432concat :: forall a . [[a]] -> [a] 2264PrimNormalize = \a b c d -> <<builtin>>
1433map :: forall a b . (a -> b) -> [a] -> [b] 2265
1434concatMap :: forall a b . (a -> [b]) -> [a] -> [b] 2266PrimNot :: forall a (b :: Nat) . (a ~ VecScalar b Bool) => a -> a
1435len :: forall a . [a] -> Int 2267PrimNot = \a b c d -> <<builtin>>
1436'Maybe :: Type -> Type 2268
1437Nothing :: forall a . Maybe a 2269PrimNotEqual :: forall a b . (b ~ MatVecScalarElem a) => a -> a -> Bool
1438Just :: forall a . a -> Maybe a 2270PrimNotEqual = \a b c d e -> <<builtin>>
1439case'Maybe 2271
1440 :: forall a 2272PrimNotEqualV
1441 . forall (b :: Maybe a -> Type) 2273 :: forall a (b :: Nat) c d
1442 -> b 'Nothing 2274 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d
1443 -> (forall (c :: a) -> b ('Just c)) -> forall (d :: Maybe a) -> b d 2275PrimNotEqualV = \a b c d e f g h i -> <<builtin>>
1444match'Maybe 2276
1445 :: forall (a :: Type -> Type) 2277PrimOr :: Bool -> Bool -> Bool
1446 -> (forall b -> a (Maybe b)) -> forall c -> a c -> a c 2278PrimOr = \a b -> <<builtin>>
1447'Vector :: Nat -> Type -> Type 2279
1448case'Vector 2280PrimOuterProduct
1449 :: forall (a :: Nat) b 2281 :: forall (a :: Nat) b (c :: Nat) . Vec a b -> Vec c b -> Mat c a b
1450 . forall (c :: Vector a b -> Type) (d :: Vector a b) -> c d 2282PrimOuterProduct = \a b c d e -> <<builtin>>
1451match'Vector 2283
1452 :: forall (a :: Type -> Type)
1453 -> (forall (b :: Nat) c -> a (Vector b c)) -> forall d -> a d -> a d
1454'PrimitiveType :: Type
1455Triangle :: PrimitiveType
1456Line :: PrimitiveType
1457Point :: PrimitiveType
1458TriangleAdjacency :: PrimitiveType
1459LineAdjacency :: PrimitiveType
1460case'PrimitiveType
1461 :: forall (a :: PrimitiveType -> Type)
1462 -> a 'Triangle
1463 -> a 'Line
1464 -> a 'Point
1465 -> a 'TriangleAdjacency
1466 -> a 'LineAdjacency -> forall (b :: PrimitiveType) -> a b
1467match'PrimitiveType
1468 :: forall (a :: Type -> Type) -> a PrimitiveType -> forall b -> a b -> a b
1469'Primitive :: Type -> PrimitiveType -> Type
1470PrimPoint :: forall a . a -> Primitive a 'Point 2284PrimPoint :: forall a . a -> Primitive a 'Point
1471PrimLine :: forall a . a -> a -> Primitive a 'Line 2285PrimPoint = <<0th constructor of 'Primitive>>
2286
2287PrimPow :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a
2288PrimPow = \a b c d e -> <<builtin>>
2289
2290PrimRadians :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2291PrimRadians = \a b c d -> <<builtin>>
2292
2293PrimReflect :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a
2294PrimReflect = \a b c d e -> <<builtin>>
2295
2296PrimRefract :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a
2297PrimRefract = \a b c d e f -> <<builtin>>
2298
2299PrimRound :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2300PrimRound = \a b c d -> <<builtin>>
2301
2302PrimRoundEven :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2303PrimRoundEven = \a b c d -> <<builtin>>
2304
2305PrimSign :: forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b
2306PrimSign = \a b c d e f -> <<builtin>>
2307
2308PrimSin :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2309PrimSin = \a b c d -> <<builtin>>
2310
2311PrimSinH :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2312PrimSinH = \a b c d -> <<builtin>>
2313
2314PrimSmoothStep :: forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a -> a
2315PrimSmoothStep = \a b c d e f -> <<builtin>>
2316
2317PrimSmoothStepS
2318 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> Float -> a -> a
2319PrimSmoothStepS = \a b c d e f -> <<builtin>>
2320
2321PrimSqrt :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2322PrimSqrt = \a b c d -> <<builtin>>
2323
2324PrimStep :: forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a
2325PrimStep = \a b c d e -> <<builtin>>
2326
2327PrimStepS :: forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> a -> a
2328PrimStepS = \a b c d e -> <<builtin>>
2329
2330PrimSub :: forall a . Num (MatVecScalarElem a) => a -> a -> a
2331PrimSub = \a b c d -> <<builtin>>
2332
2333PrimSubS :: forall a b . (a ~ MatVecScalarElem b, Num a) => b -> a -> b
2334PrimSubS = \a b c d e f -> <<builtin>>
2335
2336PrimTan :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2337PrimTan = \a b c d -> <<builtin>>
2338
2339PrimTanH :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
2340PrimTanH = \a b c d -> <<builtin>>
2341
2342PrimTranspose :: forall (a :: Nat) (b :: Nat) c . Mat a b c -> Mat b a c
2343PrimTranspose = \a b c d -> <<builtin>>
2344
1472PrimTriangle :: forall a . a -> a -> a -> Primitive a 'Triangle 2345PrimTriangle :: forall a . a -> a -> a -> Primitive a 'Triangle
1473case'Primitive 2346PrimTriangle = <<2nd constructor of 'Primitive>>
1474 :: forall a 2347
1475 . forall (b :: forall (c :: PrimitiveType) -> Primitive a c -> Type) 2348PrimTrunc :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1476 -> (forall (d :: a) -> b 'Point ('PrimPoint d)) 2349PrimTrunc = \a b c d -> <<builtin>>
1477 -> (forall (e :: a) (f :: a) -> b 'Line ('PrimLine e f)) 2350
1478 -> (forall (g :: a) (h :: a) (i :: a) -> b 'Triangle ('PrimTriangle g h i)) 2351PrimUIntBitsToFloat :: forall (a :: Nat) . VecScalar a Word -> VecScalar a Float
1479 -> forall (j :: PrimitiveType) . forall (k :: Primitive a j) -> b j k 2352PrimUIntBitsToFloat = \a b -> <<builtin>>
1480match'Primitive 2353
1481 :: forall (a :: Type -> Type) 2354PrimXor :: Bool -> Bool -> Bool
1482 -> (forall b (c :: PrimitiveType) -> a (Primitive b c)) 2355PrimXor = \a b -> <<builtin>>
1483 -> forall d -> a d -> a d 2356
1484mapPrimitive 2357PrjImage :: forall (a :: ImageKind) . FrameBuffer 1 ' [a] -> Image 1 a
1485 :: forall a b (c :: PrimitiveType) . (a -> b) -> Primitive a c -> Primitive b c 2358PrjImage = \a b -> <<builtin>>
1486'PrimitiveStream :: PrimitiveType -> Type -> Type 2359
1487mapPrimitives 2360PrjImageColor
1488 :: forall a b (c :: PrimitiveType) 2361 :: FrameBuffer 1 ' ['Depth, 'Color (Vec 4 Float)]
1489 . (a -> b) -> [Primitive a c] -> [Primitive b c] 2362 -> Image 1 ('Color (Vec 4 Float))
1490'ListElem :: Type -> Type 2363PrjImageColor = \a -> <<builtin>>
1491fetchArrays 2364
1492 :: forall (a :: PrimitiveType) (b :: [Type]) (c :: [Type]) 2365ProgramPointSize :: forall a . (a -> Float) -> PointSize a
1493 . (b ~ (map Type Type ListElem c :: [Type])) 2366ProgramPointSize = <<1st constructor of 'PointSize>>
1494 => HList c -> PrimitiveStream a (HList b) 2367
1495fetch 2368Repeat :: EdgeMode
1496 :: forall (a :: PrimitiveType) (b :: [Type]) 2369Repeat = <<0th constructor of 'EdgeMode>>
1497 . String -> HList b -> PrimitiveStream a (HList b) 2370
1498Attribute :: forall a . String -> a 2371Sampler :: Filter -> EdgeMode -> Texture -> Sampler
1499fetchStream 2372Sampler = <<0th constructor of 'Sampler>>
1500 :: forall (a :: PrimitiveType) (b :: [Type]) 2373
1501 . String 2374ScreenOut :: forall (a :: Nat) (b :: [ImageKind]) . FrameBuffer a b -> Output
1502 -> forall (c :: [String]) 2375ScreenOut = <<0th constructor of 'Output>>
1503 -> (len String c ~ (len Type b :: Int)) => PrimitiveStream a (HList b) 2376
1504'SimpleFragment :: Type -> Type 2377Set :: LogicOperation
2378Set = <<15th constructor of 'LogicOperation>>
2379
1505SimpleFragment :: forall a . Vec 3 Float -> a -> SimpleFragment a 2380SimpleFragment :: forall a . Vec 3 Float -> a -> SimpleFragment a
1506case'SimpleFragment 2381SimpleFragment = <<0th constructor of 'SimpleFragment>>
1507 :: forall a 2382
1508 . forall (b :: SimpleFragment a -> Type) 2383Smooth :: forall a . Floating a => Interpolated a
1509 -> (forall (c :: Vec 3 Float) (d :: a) -> b ('SimpleFragment c d)) 2384Smooth = <<0th constructor of 'Interpolated>>
1510 -> forall (e :: SimpleFragment a) -> b e 2385
1511match'SimpleFragment 2386SrcAlpha :: BlendingFactor
1512 :: forall (a :: Type -> Type) 2387SrcAlpha = <<6th constructor of 'BlendingFactor>>
1513 -> (forall b -> a (SimpleFragment b)) -> forall c -> a c -> a c 2388
1514'Fragment :: Nat -> Type -> Type 2389SrcAlphaSaturate :: BlendingFactor
1515sFragmentCoords :: forall a . SimpleFragment a -> VecS Float 3 2390SrcAlphaSaturate = <<14th constructor of 'BlendingFactor>>
1516sFragmentValue :: forall a . SimpleFragment a -> a 2391
1517'FragmentStream :: Nat -> Type -> Type 2392SrcColor :: BlendingFactor
1518customizeDepth 2393SrcColor = <<2nd constructor of 'BlendingFactor>>
1519 :: forall a (b :: Nat) . (a -> Float) -> Fragment b a -> Fragment b a 2394
1520customizeDepths
1521 :: forall a (b :: Nat)
1522 . (a -> Float)
1523 -> [Vector b (Maybe (SimpleFragment a))]
1524 -> [Vector b (Maybe (SimpleFragment a))]
1525filterFragment
1526 :: forall a (b :: Nat) . (a -> Bool) -> Fragment b a -> Fragment b a
1527filterFragments
1528 :: forall a (b :: Nat)
1529 . (a -> Bool)
1530 -> [Vector b (Maybe (SimpleFragment a))]
1531 -> [Vector b (Maybe (SimpleFragment a))]
1532mapFragment :: forall a b (c :: Nat) . (a -> b) -> Fragment c a -> Fragment c b
1533mapFragments
1534 :: forall a b (c :: Nat)
1535 . (a -> b)
1536 -> [Vector c (Maybe (SimpleFragment a))]
1537 -> [Vector c (Maybe (SimpleFragment b))]
1538'ImageKind :: Type
1539Color :: Type -> ImageKind
1540Depth :: ImageKind
1541Stencil :: ImageKind 2395Stencil :: ImageKind
1542case'ImageKind 2396Stencil = <<2nd constructor of 'ImageKind>>
1543 :: forall (a :: ImageKind -> Type) 2397
1544 -> (forall b -> a ('Color b))
1545 -> a 'Depth -> a 'Stencil -> forall (c :: ImageKind) -> a c
1546match'ImageKind
1547 :: forall (a :: Type -> Type) -> a ImageKind -> forall b -> a b -> a b
1548imageType :: ImageKind -> Type
1549'Image :: Nat -> ImageKind -> Type
1550case'Image
1551 :: forall (a :: Nat) (b :: ImageKind)
1552 . forall (c :: Image a b -> Type) (d :: Image a b) -> c d
1553match'Image
1554 :: forall (a :: Type -> Type)
1555 -> (forall (b :: Nat) (c :: ImageKind) -> a (Image b c))
1556 -> forall d -> a d -> a d
1557ColorImage
1558 :: forall (a :: Nat) (b :: Nat) c d
1559 . (Num c, d ~ VecScalar b c) => d -> Image a ('Color d)
1560DepthImage :: forall (a :: Nat) . Float -> Image a 'Depth
1561StencilImage :: forall (a :: Nat) . Int -> Image a 'Stencil 2398StencilImage :: forall (a :: Nat) . Int -> Image a 'Stencil
1562emptyDepthImage :: Float -> Image 1 'Depth 2399StencilImage = \a b -> <<builtin>>
1563emptyColorImage 2400
1564 :: forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 1 ('Color c) 2401StencilOp
1565'Swizz :: Type 2402 :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation 'Stencil
2403StencilOp = <<2nd constructor of 'FragmentOperation>>
2404
2405Sw :: Swizz
2406Sw = <<3rd constructor of 'Swizz>>
2407
1566Sx :: Swizz 2408Sx :: Swizz
2409Sx = <<0th constructor of 'Swizz>>
2410
1567Sy :: Swizz 2411Sy :: Swizz
2412Sy = <<1st constructor of 'Swizz>>
2413
1568Sz :: Swizz 2414Sz :: Swizz
1569Sw :: Swizz 2415Sz = <<2nd constructor of 'Swizz>>
1570case'Swizz 2416
1571 :: forall (a :: Swizz -> Type) 2417Texture2D :: Vec 2 Int -> Image 1 ('Color (Vec 4 Float)) -> Texture
1572 -> a 'Sx -> a 'Sy -> a 'Sz -> a 'Sw -> forall (b :: Swizz) -> a b 2418Texture2D = <<1st constructor of 'Texture>>
1573match'Swizz :: forall (a :: Type -> Type) -> a Swizz -> forall b -> a b -> a b 2419
1574swizzscalar :: forall a (b :: Nat) . Vec b a -> Swizz -> a 2420Texture2DSlot :: String -> Texture
1575definedVec :: forall a (b :: Nat) . Vec b a -> Bool 2421Texture2DSlot = <<0th constructor of 'Texture>>
1576swizzvector 2422
1577 :: forall a (b :: Nat) (c :: Nat) . Vec b a -> Vec c Swizz -> VecS a c 2423Triangle :: PrimitiveType
1578'BlendingFactor :: Type 2424Triangle = <<0th constructor of 'PrimitiveType>>
2425
2426TriangleAdjacency :: PrimitiveType
2427TriangleAdjacency = <<3rd constructor of 'PrimitiveType>>
2428
2429TriangleCtx
2430 :: forall a
2431 . CullMode
2432 -> PolygonMode a
2433 -> PolygonOffset -> ProvokingVertex -> RasterContext a 'Triangle
2434TriangleCtx = <<0th constructor of 'RasterContext>>
2435
2436Uniform :: forall a . String -> a
2437Uniform = \a b -> <<builtin>>
2438
2439UpperLeft :: PointSpriteCoordOrigin
2440UpperLeft = <<1st constructor of 'PointSpriteCoordOrigin>>
2441
2442V2 :: forall a . a -> a -> VecS a 2
2443V2 = <<0th constructor of 'VecS>>
2444
2445V3 :: forall a . a -> a -> a -> VecS a 3
2446V3 = <<1st constructor of 'VecS>>
2447
2448V4 :: forall a . a -> a -> a -> a -> VecS a 4
2449V4 = <<2nd constructor of 'VecS>>
2450
2451Xor :: LogicOperation
2452Xor = <<6th constructor of 'LogicOperation>>
2453
1579ZeroBF :: BlendingFactor 2454ZeroBF :: BlendingFactor
1580OneBF :: BlendingFactor 2455ZeroBF = <<0th constructor of 'BlendingFactor>>
1581SrcColor :: BlendingFactor 2456
1582OneMinusSrcColor :: BlendingFactor 2457accumulate
1583DstColor :: BlendingFactor 2458 :: forall (a :: Nat) (b :: [Type]) c
1584OneMinusDstColor :: BlendingFactor 2459 . HList b
1585SrcAlpha :: BlendingFactor 2460 -> (c -> HList (imageType' (map Type ImageKind FragmentOperationKind b)))
1586OneMinusSrcAlpha :: BlendingFactor 2461 -> [Vector a (Maybe (SimpleFragment c))]
1587DstAlpha :: BlendingFactor 2462 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b)
1588OneMinusDstAlpha :: BlendingFactor 2463 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b)
1589ConstantColor :: BlendingFactor 2464accumulate
1590OneMinusConstantColor :: BlendingFactor 2465 = \a b c d e f g -> _rhs
1591ConstantAlpha :: BlendingFactor 2466 (Accumulate
1592OneMinusConstantAlpha :: BlendingFactor 2467 (map Type 'ImageKind 'FragmentOperationKind b)
1593SrcAlphaSaturate :: BlendingFactor 2468 a
2469 b
2470 TT
2471 d
2472 (map
2473 ('Vector a ('Maybe ('SimpleFragment c)))
2474 ('Vector
2475 a
2476 ('Maybe
2477 ('SimpleFragment
2478 ('HList (imageType' (map Type 'ImageKind 'FragmentOperationKind b))))))
2479 (\h -> mapFragment
2480 c
2481 ('HList (imageType' (map Type 'ImageKind 'FragmentOperationKind b)))
2482 a
2483 e
2484 h)
2485 f)
2486 g)
2487
2488accumulateWith :: forall a b . a -> b -> (a, b)
2489accumulateWith = \a b c d -> _rhs (c, d)
2490
2491accumulationContext :: forall a . a -> a
2492accumulationContext = \_ a -> _rhs a
2493
2494allSame :: forall a . [a] -> Constraint
2495allSame
2496 = primFix
2497 (forall a . [a] -> 'Constraint)
2498 \b c d -> case'List
2499 (\_ -> 'Constraint)
2500 (_rhs CUnit)
2501 (\e f -> case'List
2502 (\_ -> 'Constraint)
2503 (_rhs CUnit)
2504 (\g h -> _rhs ('T2 (e ~ (g :: c)) (b c (g : h))))
2505 f)
2506 d
2507
2508case'BlendEquation
2509 :: forall (a :: BlendEquation -> Type)
2510 -> a 'FuncAdd
2511 -> a 'FuncSubtract
2512 -> a 'FuncReverseSubtract
2513 -> a 'Min -> a 'Max -> forall (b :: BlendEquation) -> a b
2514case'BlendEquation
2515 = \a b c d e f g -> <<case function of a type with 0 parameters>>
2516
2517case'Blending
2518 :: forall (a :: forall b -> Blending b -> Type)
2519 -> (forall c . a c ('NoBlending c))
2520 -> (forall d (e :: CW (Integral d))
2521 . forall (f :: LogicOperation) -> a d ('BlendLogicOp d e f))
2522 -> (forall (g :: (BlendEquation, BlendEquation))
2523 (h :: ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor)))
2524 (i :: Vec 4 Float)
2525 -> a Float ('Blend g h i))
2526 -> forall j . forall (k :: Blending j) -> a j k
2527case'Blending = \a b c d e f -> <<case function of a type with 0 parameters>>
2528
1594case'BlendingFactor 2529case'BlendingFactor
1595 :: forall (a :: BlendingFactor -> Type) 2530 :: forall (a :: BlendingFactor -> Type)
1596 -> a 'ZeroBF 2531 -> a 'ZeroBF
@@ -1608,39 +2543,75 @@ case'BlendingFactor
1608 -> a 'ConstantAlpha 2543 -> a 'ConstantAlpha
1609 -> a 'OneMinusConstantAlpha 2544 -> a 'OneMinusConstantAlpha
1610 -> a 'SrcAlphaSaturate -> forall (b :: BlendingFactor) -> a b 2545 -> a 'SrcAlphaSaturate -> forall (b :: BlendingFactor) -> a b
1611match'BlendingFactor 2546case'BlendingFactor
1612 :: forall (a :: Type -> Type) -> a BlendingFactor -> forall b -> a b -> a b 2547 = \a b c d e f g h i j k l m n o p q
1613'BlendEquation :: Type 2548 -> <<case function of a type with 0 parameters>>
1614FuncAdd :: BlendEquation 2549
1615FuncSubtract :: BlendEquation 2550case'ComparisonFunction
1616FuncReverseSubtract :: BlendEquation 2551 :: forall (a :: ComparisonFunction -> Type)
1617Min :: BlendEquation 2552 -> a 'Never
1618Max :: BlendEquation 2553 -> a 'Less
1619case'BlendEquation 2554 -> a 'Equal
1620 :: forall (a :: BlendEquation -> Type) 2555 -> a 'Lequal
1621 -> a 'FuncAdd 2556 -> a 'Greater
1622 -> a 'FuncSubtract 2557 -> a 'Notequal
1623 -> a 'FuncReverseSubtract 2558 -> a 'Gequal -> a 'Always -> forall (b :: ComparisonFunction) -> a b
1624 -> a 'Min -> a 'Max -> forall (b :: BlendEquation) -> a b 2559case'ComparisonFunction
1625match'BlendEquation 2560 = \a b c d e f g h i j -> <<case function of a type with 0 parameters>>
1626 :: forall (a :: Type -> Type) -> a BlendEquation -> forall b -> a b -> a b 2561
1627'LogicOperation :: Type 2562case'CullMode
1628Clear :: LogicOperation 2563 :: forall (a :: CullMode -> Type)
1629And :: LogicOperation 2564 -> a 'CullFront -> a 'CullBack -> a 'CullNone -> forall (b :: CullMode) -> a b
1630AndReverse :: LogicOperation 2565case'CullMode = \a b c d e -> <<case function of a type with 0 parameters>>
1631Copy :: LogicOperation 2566
1632AndInverted :: LogicOperation 2567case'EdgeMode
1633Noop :: LogicOperation 2568 :: forall (a :: EdgeMode -> Type)
1634Xor :: LogicOperation 2569 -> a 'Repeat
1635Or :: LogicOperation 2570 -> a 'MirroredRepeat -> a 'ClampToEdge -> forall (b :: EdgeMode) -> a b
1636Nor :: LogicOperation 2571case'EdgeMode = \a b c d e -> <<case function of a type with 0 parameters>>
1637Equiv :: LogicOperation 2572
1638Invert :: LogicOperation 2573case'Filter
1639OrReverse :: LogicOperation 2574 :: forall (a :: Filter -> Type)
1640CopyInverted :: LogicOperation 2575 -> a 'PointFilter -> a 'LinearFilter -> forall (b :: Filter) -> a b
1641OrInverted :: LogicOperation 2576case'Filter = \a b c d -> <<case function of a type with 0 parameters>>
1642Nand :: LogicOperation 2577
1643Set :: LogicOperation 2578case'FragmentOperation
2579 :: forall (a :: forall (b :: ImageKind) -> FragmentOperation b -> Type)
2580 -> (forall c (d :: Nat) (e :: CW (Num c))
2581 . forall (f :: Blending c) (g :: VecScalar d Bool)
2582 -> a ('Color (VecScalar d c)) ('ColorOp c d e f g))
2583 -> (forall (h :: ComparisonFunction) (i :: Bool) -> a 'Depth ('DepthOp h i))
2584 -> (forall (j :: StencilTests) (k :: StencilOps) (l :: StencilOps)
2585 -> a 'Stencil ('StencilOp j k l))
2586 -> forall (m :: ImageKind) . forall (n :: FragmentOperation m) -> a m n
2587case'FragmentOperation
2588 = \a b c d e f -> <<case function of a type with 0 parameters>>
2589
2590case'FrameBuffer
2591 :: forall (a :: Nat) (b :: [ImageKind])
2592 . forall (c :: FrameBuffer a b -> Type) (d :: FrameBuffer a b) -> c d
2593case'FrameBuffer = \_ _ a b -> <<case function of a type with 2 parameters>>
2594
2595case'Image
2596 :: forall (a :: Nat) (b :: ImageKind)
2597 . forall (c :: Image a b -> Type) (d :: Image a b) -> c d
2598case'Image = \_ _ a b -> <<case function of a type with 2 parameters>>
2599
2600case'ImageKind
2601 :: forall (a :: ImageKind -> Type)
2602 -> (forall b -> a ('Color b))
2603 -> a 'Depth -> a 'Stencil -> forall (c :: ImageKind) -> a c
2604case'ImageKind = \a b c d e -> <<case function of a type with 0 parameters>>
2605
2606case'Interpolated
2607 :: forall a
2608 . forall (b :: Interpolated a -> Type)
2609 -> (forall (c :: CW (Floating a)) . b ('Smooth c))
2610 -> (forall (d :: CW (Floating a)) . b ('NoPerspective d))
2611 -> b 'Flat -> forall (e :: Interpolated a) -> b e
2612case'Interpolated
2613 = \_ a b c d e -> <<case function of a type with 1 parameters>>
2614
1644case'LogicOperation 2615case'LogicOperation
1645 :: forall (a :: LogicOperation -> Type) 2616 :: forall (a :: LogicOperation -> Type)
1646 -> a 'Clear 2617 -> a 'Clear
@@ -1657,81 +2628,63 @@ case'LogicOperation
1657 -> a 'OrReverse 2628 -> a 'OrReverse
1658 -> a 'CopyInverted 2629 -> a 'CopyInverted
1659 -> a 'OrInverted -> a 'Nand -> a 'Set -> forall (b :: LogicOperation) -> a b 2630 -> a 'OrInverted -> a 'Nand -> a 'Set -> forall (b :: LogicOperation) -> a b
1660match'LogicOperation 2631case'LogicOperation
1661 :: forall (a :: Type -> Type) -> a LogicOperation -> forall b -> a b -> a b 2632 = \a b c d e f g h i j k l m n o p q r
1662'StencilOperation :: Type 2633 -> <<case function of a type with 0 parameters>>
1663OpZero :: StencilOperation 2634
1664OpKeep :: StencilOperation 2635case'Mat
1665OpReplace :: StencilOperation 2636 :: forall (a :: forall (b :: Nat) (c :: Nat) d -> Mat b c d -> Type)
1666OpIncr :: StencilOperation 2637 -> (forall (e :: Vec 2 Float) (f :: Vec 2 Float) -> a 2 2 Float ('M22F e f))
1667OpIncrWrap :: StencilOperation 2638 -> (forall (g :: Vec 3 Float) (h :: Vec 3 Float) -> a 3 2 Float ('M32F g h))
1668OpDecr :: StencilOperation 2639 -> (forall (i :: Vec 4 Float) (j :: Vec 4 Float) -> a 4 2 Float ('M42F i j))
1669OpDecrWrap :: StencilOperation 2640 -> (forall (k :: Vec 2 Float) (l :: Vec 2 Float) (m :: Vec 2 Float)
1670OpInvert :: StencilOperation 2641 -> a 2 3 Float ('M23F k l m))
1671case'StencilOperation 2642 -> (forall (n :: Vec 3 Float) (o :: Vec 3 Float) (p :: Vec 3 Float)
1672 :: forall (a :: StencilOperation -> Type) 2643 -> a 3 3 Float ('M33F n o p))
1673 -> a 'OpZero 2644 -> (forall (q :: Vec 4 Float) (r :: Vec 4 Float) (s :: Vec 4 Float)
1674 -> a 'OpKeep 2645 -> a 4 3 Float ('M43F q r s))
1675 -> a 'OpReplace 2646 -> (forall (t :: Vec 2 Float)
1676 -> a 'OpIncr 2647 (u :: Vec 2 Float) (v :: Vec 2 Float) (w :: Vec 2 Float)
1677 -> a 'OpIncrWrap 2648 -> a 2 4 Float ('M24F t u v w))
1678 -> a 'OpDecr 2649 -> (forall (x :: Vec 3 Float)
1679 -> a 'OpDecrWrap -> a 'OpInvert -> forall (b :: StencilOperation) -> a b 2650 (y :: Vec 3 Float) (z :: Vec 3 Float) (a' :: Vec 3 Float)
1680match'StencilOperation 2651 -> a 3 4 Float ('M34F x y z a'))
1681 :: forall (a :: Type -> Type) -> a StencilOperation -> forall b -> a b -> a b 2652 -> (forall (b' :: Vec 4 Float)
1682'ComparisonFunction :: Type 2653 (c' :: Vec 4 Float) (d' :: Vec 4 Float) (e' :: Vec 4 Float)
1683Never :: ComparisonFunction 2654 -> a 4 4 Float ('M44F b' c' d' e'))
1684Less :: ComparisonFunction 2655 -> forall (f' :: Nat) (g' :: Nat) h'
1685Equal :: ComparisonFunction 2656 . forall (i' :: Mat f' g' h') -> a f' g' h' i'
1686Lequal :: ComparisonFunction 2657case'Mat
1687Greater :: ComparisonFunction 2658 = \a b c d e f g h i j k l m n -> <<case function of a type with 0 parameters>>
1688Notequal :: ComparisonFunction 2659
1689Gequal :: ComparisonFunction 2660case'Maybe
1690Always :: ComparisonFunction 2661 :: forall a
1691case'ComparisonFunction 2662 . forall (b :: Maybe a -> Type)
1692 :: forall (a :: ComparisonFunction -> Type) 2663 -> b 'Nothing
1693 -> a 'Never 2664 -> (forall (c :: a) -> b ('Just c)) -> forall (d :: Maybe a) -> b d
1694 -> a 'Less 2665case'Maybe = \_ a b c d -> <<case function of a type with 1 parameters>>
1695 -> a 'Equal 2666
1696 -> a 'Lequal 2667case'Output
1697 -> a 'Greater 2668 :: forall (a :: Output -> Type)
1698 -> a 'Notequal 2669 -> (forall (b :: Nat) (c :: [ImageKind])
1699 -> a 'Gequal -> a 'Always -> forall (b :: ComparisonFunction) -> a b 2670 . forall (d :: FrameBuffer b c) -> a ('ScreenOut b c d))
1700match'ComparisonFunction 2671 -> forall (e :: Output) -> a e
1701 :: forall (a :: Type -> Type) -> a ComparisonFunction -> forall b -> a b -> a b 2672case'Output = \a b c -> <<case function of a type with 0 parameters>>
1702'ProvokingVertex :: Type 2673
1703LastVertex :: ProvokingVertex
1704FirstVertex :: ProvokingVertex
1705case'ProvokingVertex
1706 :: forall (a :: ProvokingVertex -> Type)
1707 -> a 'LastVertex -> a 'FirstVertex -> forall (b :: ProvokingVertex) -> a b
1708match'ProvokingVertex
1709 :: forall (a :: Type -> Type) -> a ProvokingVertex -> forall b -> a b -> a b
1710'CullMode :: Type
1711CullFront :: CullMode
1712CullBack :: CullMode
1713CullNone :: CullMode
1714case'CullMode
1715 :: forall (a :: CullMode -> Type)
1716 -> a 'CullFront -> a 'CullBack -> a 'CullNone -> forall (b :: CullMode) -> a b
1717match'CullMode
1718 :: forall (a :: Type -> Type) -> a CullMode -> forall b -> a b -> a b
1719'PointSize :: Type -> Type
1720PointSize :: forall a . Float -> PointSize a
1721ProgramPointSize :: forall a . (a -> Float) -> PointSize a
1722case'PointSize 2674case'PointSize
1723 :: forall a 2675 :: forall a
1724 . forall (b :: PointSize a -> Type) 2676 . forall (b :: PointSize a -> Type)
1725 -> (forall (c :: Float) -> b ('PointSize c)) 2677 -> (forall (c :: Float) -> b ('PointSize c))
1726 -> (forall (d :: a -> Float) -> b ('ProgramPointSize d)) 2678 -> (forall (d :: a -> Float) -> b ('ProgramPointSize d))
1727 -> forall (e :: PointSize a) -> b e 2679 -> forall (e :: PointSize a) -> b e
1728match'PointSize 2680case'PointSize = \_ a b c d -> <<case function of a type with 1 parameters>>
1729 :: forall (a :: Type -> Type) 2681
1730 -> (forall b -> a (PointSize b)) -> forall c -> a c -> a c 2682case'PointSpriteCoordOrigin
1731'PolygonMode :: Type -> Type 2683 :: forall (a :: PointSpriteCoordOrigin -> Type)
1732PolygonFill :: forall a . PolygonMode a 2684 -> a 'LowerLeft -> a 'UpperLeft -> forall (b :: PointSpriteCoordOrigin) -> a b
1733PolygonPoint :: forall a . PointSize a -> PolygonMode a 2685case'PointSpriteCoordOrigin
1734PolygonLine :: forall a . Float -> PolygonMode a 2686 = \a b c d -> <<case function of a type with 0 parameters>>
2687
1735case'PolygonMode 2688case'PolygonMode
1736 :: forall a 2689 :: forall a
1737 . forall (b :: PolygonMode a -> Type) 2690 . forall (b :: PolygonMode a -> Type)
@@ -1739,40 +2692,39 @@ case'PolygonMode
1739 -> (forall (c :: PointSize a) -> b ('PolygonPoint c)) 2692 -> (forall (c :: PointSize a) -> b ('PolygonPoint c))
1740 -> (forall (d :: Float) -> b ('PolygonLine d)) 2693 -> (forall (d :: Float) -> b ('PolygonLine d))
1741 -> forall (e :: PolygonMode a) -> b e 2694 -> forall (e :: PolygonMode a) -> b e
1742match'PolygonMode 2695case'PolygonMode = \_ a b c d e -> <<case function of a type with 1 parameters>>
1743 :: forall (a :: Type -> Type) 2696
1744 -> (forall b -> a (PolygonMode b)) -> forall c -> a c -> a c
1745'PolygonOffset :: Type
1746NoOffset :: PolygonOffset
1747Offset :: Float -> Float -> PolygonOffset
1748case'PolygonOffset 2697case'PolygonOffset
1749 :: forall (a :: PolygonOffset -> Type) 2698 :: forall (a :: PolygonOffset -> Type)
1750 -> a 'NoOffset 2699 -> a 'NoOffset
1751 -> (forall (b :: Float) (c :: Float) -> a ('Offset b c)) 2700 -> (forall (b :: Float) (c :: Float) -> a ('Offset b c))
1752 -> forall (d :: PolygonOffset) -> a d 2701 -> forall (d :: PolygonOffset) -> a d
1753match'PolygonOffset 2702case'PolygonOffset = \a b c d -> <<case function of a type with 0 parameters>>
1754 :: forall (a :: Type -> Type) -> a PolygonOffset -> forall b -> a b -> a b 2703
1755'PointSpriteCoordOrigin :: Type 2704case'Primitive
1756LowerLeft :: PointSpriteCoordOrigin
1757UpperLeft :: PointSpriteCoordOrigin
1758case'PointSpriteCoordOrigin
1759 :: forall (a :: PointSpriteCoordOrigin -> Type)
1760 -> a 'LowerLeft -> a 'UpperLeft -> forall (b :: PointSpriteCoordOrigin) -> a b
1761match'PointSpriteCoordOrigin
1762 :: forall (a :: Type -> Type)
1763 -> a PointSpriteCoordOrigin -> forall b -> a b -> a b
1764primTexture :: () -> Vec 2 Float -> Vec 4 Float
1765Uniform :: forall a . String -> a
1766'RasterContext :: Type -> PrimitiveType -> Type
1767TriangleCtx
1768 :: forall a
1769 . CullMode
1770 -> PolygonMode a
1771 -> PolygonOffset -> ProvokingVertex -> RasterContext a 'Triangle
1772PointCtx
1773 :: forall a 2705 :: forall a
1774 . PointSize a -> Float -> PointSpriteCoordOrigin -> RasterContext a 'Point 2706 . forall (b :: forall (c :: PrimitiveType) -> Primitive a c -> Type)
1775LineCtx :: forall a . Float -> ProvokingVertex -> RasterContext a 'Line 2707 -> (forall (d :: a) -> b 'Point ('PrimPoint d))
2708 -> (forall (e :: a) (f :: a) -> b 'Line ('PrimLine e f))
2709 -> (forall (g :: a) (h :: a) (i :: a) -> b 'Triangle ('PrimTriangle g h i))
2710 -> forall (j :: PrimitiveType) . forall (k :: Primitive a j) -> b j k
2711case'Primitive = \_ a b c d e f -> <<case function of a type with 1 parameters>>
2712
2713case'PrimitiveType
2714 :: forall (a :: PrimitiveType -> Type)
2715 -> a 'Triangle
2716 -> a 'Line
2717 -> a 'Point
2718 -> a 'TriangleAdjacency
2719 -> a 'LineAdjacency -> forall (b :: PrimitiveType) -> a b
2720case'PrimitiveType
2721 = \a b c d e f g -> <<case function of a type with 0 parameters>>
2722
2723case'ProvokingVertex
2724 :: forall (a :: ProvokingVertex -> Type)
2725 -> a 'LastVertex -> a 'FirstVertex -> forall (b :: ProvokingVertex) -> a b
2726case'ProvokingVertex = \a b c d -> <<case function of a type with 0 parameters>>
2727
1776case'RasterContext 2728case'RasterContext
1777 :: forall a 2729 :: forall a
1778 . forall (b :: forall (c :: PrimitiveType) -> RasterContext a c -> Type) 2730 . forall (b :: forall (c :: PrimitiveType) -> RasterContext a c -> Type)
@@ -1783,73 +2735,477 @@ case'RasterContext
1783 -> b 'Point ('PointCtx h i j)) 2735 -> b 'Point ('PointCtx h i j))
1784 -> (forall (k :: Float) (l :: ProvokingVertex) -> b 'Line ('LineCtx k l)) 2736 -> (forall (k :: Float) (l :: ProvokingVertex) -> b 'Line ('LineCtx k l))
1785 -> forall (m :: PrimitiveType) . forall (n :: RasterContext a m) -> b m n 2737 -> forall (m :: PrimitiveType) . forall (n :: RasterContext a m) -> b m n
1786match'RasterContext 2738case'RasterContext
1787 :: forall (a :: Type -> Type) 2739 = \_ a b c d e f -> <<case function of a type with 1 parameters>>
1788 -> (forall b (c :: PrimitiveType) -> a (RasterContext b c)) 2740
1789 -> forall d -> a d -> a d 2741case'Sampler
1790'Blending :: Type -> Type 2742 :: forall (a :: Sampler -> Type)
1791NoBlending :: forall a . Blending a 2743 -> (forall (b :: Filter) (c :: EdgeMode) (d :: Texture) -> a ('Sampler b c d))
1792BlendLogicOp :: forall a . Integral a => LogicOperation -> Blending a 2744 -> forall (e :: Sampler) -> a e
1793Blend 2745case'Sampler = \a b c -> <<case function of a type with 0 parameters>>
1794 :: (BlendEquation, BlendEquation) 2746
1795 -> ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor)) 2747case'SimpleFragment
1796 -> Vec 4 Float -> Blending Float 2748 :: forall a
1797case'Blending 2749 . forall (b :: SimpleFragment a -> Type)
1798 :: forall (a :: forall b -> Blending b -> Type) 2750 -> (forall (c :: Vec 3 Float) (d :: a) -> b ('SimpleFragment c d))
1799 -> (forall c . a c ('NoBlending c)) 2751 -> forall (e :: SimpleFragment a) -> b e
1800 -> (forall d (e :: CW (Integral d)) 2752case'SimpleFragment = \_ a b c -> <<case function of a type with 1 parameters>>
1801 . forall (f :: LogicOperation) -> a d ('BlendLogicOp d e f)) 2753
1802 -> (forall (g :: (BlendEquation, BlendEquation)) 2754case'StencilOperation
1803 (h :: ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor))) 2755 :: forall (a :: StencilOperation -> Type)
1804 (i :: Vec 4 Float) 2756 -> a 'OpZero
1805 -> a Float ('Blend g h i)) 2757 -> a 'OpKeep
1806 -> forall j . forall (k :: Blending j) -> a j k 2758 -> a 'OpReplace
1807match'Blending 2759 -> a 'OpIncr
1808 :: forall (a :: Type -> Type) 2760 -> a 'OpIncrWrap
1809 -> (forall b -> a (Blending b)) -> forall c -> a c -> a c 2761 -> a 'OpDecr
1810'StencilTests :: Type 2762 -> a 'OpDecrWrap -> a 'OpInvert -> forall (b :: StencilOperation) -> a b
2763case'StencilOperation
2764 = \a b c d e f g h i j -> <<case function of a type with 0 parameters>>
2765
2766case'StencilOps :: forall (a :: StencilOps -> Type) (b :: StencilOps) -> a b
2767case'StencilOps = \a b -> <<case function of a type with 0 parameters>>
2768
1811case'StencilTests 2769case'StencilTests
1812 :: forall (a :: StencilTests -> Type) (b :: StencilTests) -> a b 2770 :: forall (a :: StencilTests -> Type) (b :: StencilTests) -> a b
1813match'StencilTests 2771case'StencilTests = \a b -> <<case function of a type with 0 parameters>>
1814 :: forall (a :: Type -> Type) -> a StencilTests -> forall b -> a b -> a b 2772
1815'StencilOps :: Type 2773case'Swizz
1816case'StencilOps :: forall (a :: StencilOps -> Type) (b :: StencilOps) -> a b 2774 :: forall (a :: Swizz -> Type)
1817match'StencilOps 2775 -> a 'Sx -> a 'Sy -> a 'Sz -> a 'Sw -> forall (b :: Swizz) -> a b
1818 :: forall (a :: Type -> Type) -> a StencilOps -> forall b -> a b -> a b 2776case'Swizz = \a b c d e f -> <<case function of a type with 0 parameters>>
1819'FragmentOperation :: ImageKind -> Type 2777
1820ColorOp 2778case'Texture
2779 :: forall (a :: Texture -> Type)
2780 -> (forall (b :: String) -> a ('Texture2DSlot b))
2781 -> (forall (c :: Vec 2 Int) (d :: Image 1 ('Color (Vec 4 Float)))
2782 -> a ('Texture2D c d))
2783 -> forall (e :: Texture) -> a e
2784case'Texture = \a b c d -> <<case function of a type with 0 parameters>>
2785
2786case'VecS
2787 :: forall a
2788 . forall (b :: forall (c :: Nat) -> VecS a c -> Type)
2789 -> (forall (d :: a) (e :: a) -> b 2 ('V2 d e))
2790 -> (forall (f :: a) (g :: a) (h :: a) -> b 3 ('V3 f g h))
2791 -> (forall (i :: a) (j :: a) (k :: a) (l :: a) -> b 4 ('V4 i j k l))
2792 -> forall (m :: Nat) . forall (n :: VecS a m) -> b m n
2793case'VecS = \_ a b c d e f -> <<case function of a type with 1 parameters>>
2794
2795case'Vector
2796 :: forall (a :: Nat) b
2797 . forall (c :: Vector a b -> Type) (d :: Vector a b) -> c d
2798case'Vector = \_ _ a b -> <<case function of a type with 2 parameters>>
2799
2800concat :: forall a . [[a]] -> [a]
2801concat = \a -> _rhs (foldr [a] [a] ((++) a) [])
2802
2803concatMap :: forall a b . (a -> [b]) -> [a] -> [b]
2804concatMap = \a b c d -> _rhs (foldr [b] [b] ((++) b) [] (map a [b] c d))
2805
2806customizeDepth
2807 :: forall a (b :: Nat) . (a -> Float) -> Fragment b a -> Fragment b a
2808customizeDepth = \a b c d -> <<builtin>>
2809
2810customizeDepths
1821 :: forall a (b :: Nat) 2811 :: forall a (b :: Nat)
1822 . Num a 2812 . (a -> Float)
1823 => Blending a -> VecScalar b Bool -> FragmentOperation ('Color (VecScalar b a)) 2813 -> [Vector b (Maybe (SimpleFragment a))]
1824DepthOp :: ComparisonFunction -> Bool -> FragmentOperation 'Depth 2814 -> [Vector b (Maybe (SimpleFragment a))]
1825StencilOp 2815customizeDepths
1826 :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation 'Stencil 2816 = \a b c -> _rhs
1827case'FragmentOperation 2817 (map
1828 :: forall (a :: forall (b :: ImageKind) -> FragmentOperation b -> Type) 2818 ('Vector b ('Maybe ('SimpleFragment a)))
1829 -> (forall c (d :: Nat) (e :: CW (Num c)) 2819 ('Vector b ('Maybe ('SimpleFragment a)))
1830 . forall (f :: Blending c) (g :: VecScalar d Bool) 2820 \d -> customizeDepth a b c d)
1831 -> a ('Color (VecScalar d c)) ('ColorOp c d e f g)) 2821
1832 -> (forall (h :: ComparisonFunction) (i :: Bool) -> a 'Depth ('DepthOp h i)) 2822definedVec :: forall a (b :: Nat) . Vec b a -> Bool
1833 -> (forall (j :: StencilTests) (k :: StencilOps) (l :: StencilOps) 2823definedVec
1834 -> a 'Stencil ('StencilOp j k l)) 2824 = \_ a b -> case'VecS
1835 -> forall (m :: ImageKind) . forall (n :: FragmentOperation m) -> a m n 2825 (\_ _ -> 'Bool)
2826 (\_ _ -> _rhs True)
2827 (\_ _ _ -> _rhs True)
2828 (\_ _ _ _ -> _rhs True)
2829 a
2830 b
2831
2832emptyColorImage
2833 :: forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 1 ('Color c)
2834emptyColorImage = _rhs \a b c d e f -> ColorImage 1 a b c d e f
2835
2836emptyDepthImage :: Float -> Image 1 'Depth
2837emptyDepthImage = _rhs \a -> DepthImage 1 a
2838
2839fetch
2840 :: forall (a :: PrimitiveType) (b :: [Type])
2841 . String -> HList b -> PrimitiveStream a (HList b)
2842fetch = \a b c d -> <<builtin>>
2843
2844fetchArrays
2845 :: forall (a :: PrimitiveType) (b :: [Type]) (c :: [Type])
2846 . (b ~ (map Type Type ListElem c :: [Type]))
2847 => HList c -> PrimitiveStream a (HList b)
2848fetchArrays = \a b c d e -> <<builtin>>
2849
2850fetchStream
2851 :: forall (a :: PrimitiveType) (b :: [Type])
2852 . String
2853 -> forall (c :: [String])
2854 -> (len String c ~ (len Type b :: Int)) => PrimitiveStream a (HList b)
2855fetchStream = \a b c d e -> <<builtin>>
2856
2857filterFragment
2858 :: forall a (b :: Nat) . (a -> Bool) -> Fragment b a -> Fragment b a
2859filterFragment = \a b c d -> <<builtin>>
2860
2861filterFragments
2862 :: forall a (b :: Nat)
2863 . (a -> Bool)
2864 -> [Vector b (Maybe (SimpleFragment a))]
2865 -> [Vector b (Maybe (SimpleFragment a))]
2866filterFragments
2867 = \a b c -> _rhs
2868 (map
2869 ('Vector b ('Maybe ('SimpleFragment a)))
2870 ('Vector b ('Maybe ('SimpleFragment a)))
2871 \d -> filterFragment a b c d)
2872
2873foldr :: forall a b . (b -> a -> a) -> a -> [b] -> a
2874foldr
2875 = \a b -> primFix
2876 ((b -> a -> a) -> a -> [b] -> a)
2877 \c d e f -> case'List (\_ -> a) (_rhs e) (\g h -> _rhs (d g (c d e h))) f
2878
2879head :: forall a . [a] -> a
2880head = \a b -> case'List (\_ -> a) (_rhs (undefined a)) (\c _ -> _rhs c) b
2881
2882id :: forall a . a -> a
2883id = \_ a -> _rhs a
2884
2885imageFrame
2886 :: forall (a :: [Type])
2887 . sameLayerCounts a
2888 => HList a
2889 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a)
2890imageFrame = _rhs \a b c -> FrameBuffer a b c
2891
2892imageType :: ImageKind -> Type
2893imageType
2894 = \a -> case'ImageKind (\_ -> Type) (\b -> _rhs b) (_rhs 'Float) (_rhs 'Int) a
2895
2896imageType' :: [ImageKind] -> [Type]
2897imageType'
2898 = \a -> case'List
2899 (\_ -> [Type])
2900 (_rhs (map 'ImageKind Type imageType a))
2901 (\b c -> case'ImageKind
2902 (\_ -> [Type])
2903 (\_ -> _rhs (map 'ImageKind Type imageType a))
2904 (_rhs (map 'ImageKind Type imageType c))
2905 (_rhs (map 'ImageKind Type imageType a))
2906 b)
2907 a
2908
2909len :: forall a . [a] -> Int
2910len
2911 = \a -> primFix
2912 ([a] -> 'Int)
2913 \b c -> case'List (\_ -> 'Int) (_rhs 0) (\_ d -> _rhs (primAddInt 1 (b d))) c
2914
2915map :: forall a b . (a -> b) -> [a] -> [b]
2916map
2917 = \a b -> primFix
2918 ((a -> b) -> [a] -> [b])
2919 \c d e -> case'List (\_ -> [b]) (_rhs []) (\f g -> _rhs (d f : c d g)) e
2920
2921mapFragment :: forall a b (c :: Nat) . (a -> b) -> Fragment c a -> Fragment c b
2922mapFragment = \a b c d e -> <<builtin>>
2923
2924mapFragments
2925 :: forall a b (c :: Nat)
2926 . (a -> b)
2927 -> [Vector c (Maybe (SimpleFragment a))]
2928 -> [Vector c (Maybe (SimpleFragment b))]
2929mapFragments
2930 = \a b c d -> _rhs
2931 (map
2932 ('Vector c ('Maybe ('SimpleFragment a)))
2933 ('Vector c ('Maybe ('SimpleFragment b)))
2934 \e -> mapFragment a b c d e)
2935
2936mapPrimitive
2937 :: forall a b (c :: PrimitiveType) . (a -> b) -> Primitive a c -> Primitive b c
2938mapPrimitive = \a b c d e -> <<builtin>>
2939
2940mapPrimitives
2941 :: forall a b (c :: PrimitiveType)
2942 . (a -> b) -> [Primitive a c] -> [Primitive b c]
2943mapPrimitives
2944 = \a b c d -> _rhs
2945 (map ('Primitive a c) ('Primitive b c) \e -> mapPrimitive a b c d e)
2946
2947mapVec :: forall a b (c :: Nat) . (a -> b) -> VecS a c -> VecS b c
2948mapVec
2949 = \_ a b c d -> case'VecS
2950 (\e _ -> 'VecS a e)
2951 (\f g -> _rhs (V2 (c f) (c g)))
2952 (\h i j -> _rhs (V3 (c h) (c i) (c j)))
2953 (\k l m n -> _rhs (V4 (c k) (c l) (c m) (c n)))
2954 b
2955 d
2956
2957match'BlendEquation
2958 :: forall (a :: Type -> Type) -> a BlendEquation -> forall b -> a b -> a b
2959match'BlendEquation = \a b c d -> <<type case function>>
2960
2961match'Blending
2962 :: forall (a :: Type -> Type)
2963 -> (forall b -> a (Blending b)) -> forall c -> a c -> a c
2964match'Blending = \a b c d -> <<type case function>>
2965
2966match'BlendingFactor
2967 :: forall (a :: Type -> Type) -> a BlendingFactor -> forall b -> a b -> a b
2968match'BlendingFactor = \a b c d -> <<type case function>>
2969
2970match'ComparisonFunction
2971 :: forall (a :: Type -> Type) -> a ComparisonFunction -> forall b -> a b -> a b
2972match'ComparisonFunction = \a b c d -> <<type case function>>
2973
2974match'CullMode
2975 :: forall (a :: Type -> Type) -> a CullMode -> forall b -> a b -> a b
2976match'CullMode = \a b c d -> <<type case function>>
2977
2978match'EdgeMode
2979 :: forall (a :: Type -> Type) -> a EdgeMode -> forall b -> a b -> a b
2980match'EdgeMode = \a b c d -> <<type case function>>
2981
2982match'Filter :: forall (a :: Type -> Type) -> a Filter -> forall b -> a b -> a b
2983match'Filter = \a b c d -> <<type case function>>
2984
1836match'FragmentOperation 2985match'FragmentOperation
1837 :: forall (a :: Type -> Type) 2986 :: forall (a :: Type -> Type)
1838 -> (forall (b :: ImageKind) -> a (FragmentOperation b)) 2987 -> (forall (b :: ImageKind) -> a (FragmentOperation b))
1839 -> forall c -> a c -> a c 2988 -> forall c -> a c -> a c
1840'Interpolated :: Type -> Type 2989match'FragmentOperation = \a b c d -> <<type case function>>
1841Smooth :: forall a . Floating a => Interpolated a 2990
1842NoPerspective :: forall a . Floating a => Interpolated a 2991match'FrameBuffer
1843Flat :: forall a . Interpolated a 2992 :: forall (a :: Type -> Type)
1844case'Interpolated 2993 -> (forall (b :: Nat) (c :: [ImageKind]) -> a (FrameBuffer b c))
1845 :: forall a 2994 -> forall d -> a d -> a d
1846 . forall (b :: Interpolated a -> Type) 2995match'FrameBuffer = \a b c d -> <<type case function>>
1847 -> (forall (c :: CW (Floating a)) . b ('Smooth c)) 2996
1848 -> (forall (d :: CW (Floating a)) . b ('NoPerspective d)) 2997match'Image
1849 -> b 'Flat -> forall (e :: Interpolated a) -> b e 2998 :: forall (a :: Type -> Type)
2999 -> (forall (b :: Nat) (c :: ImageKind) -> a (Image b c))
3000 -> forall d -> a d -> a d
3001match'Image = \a b c d -> <<type case function>>
3002
3003match'ImageKind
3004 :: forall (a :: Type -> Type) -> a ImageKind -> forall b -> a b -> a b
3005match'ImageKind = \a b c d -> <<type case function>>
3006
1850match'Interpolated 3007match'Interpolated
1851 :: forall (a :: Type -> Type) 3008 :: forall (a :: Type -> Type)
1852 -> (forall b -> a (Interpolated b)) -> forall c -> a c -> a c 3009 -> (forall b -> a (Interpolated b)) -> forall c -> a c -> a c
3010match'Interpolated = \a b c d -> <<type case function>>
3011
3012match'LogicOperation
3013 :: forall (a :: Type -> Type) -> a LogicOperation -> forall b -> a b -> a b
3014match'LogicOperation = \a b c d -> <<type case function>>
3015
3016match'Mat
3017 :: forall (a :: Type -> Type)
3018 -> (forall (b :: Nat) (c :: Nat) d -> a (Mat b c d)) -> forall e -> a e -> a e
3019match'Mat = \a b c d -> <<type case function>>
3020
3021match'Maybe
3022 :: forall (a :: Type -> Type)
3023 -> (forall b -> a (Maybe b)) -> forall c -> a c -> a c
3024match'Maybe = \a b c d -> <<type case function>>
3025
3026match'Output :: forall (a :: Type -> Type) -> a Output -> forall b -> a b -> a b
3027match'Output = \a b c d -> <<type case function>>
3028
3029match'PointSize
3030 :: forall (a :: Type -> Type)
3031 -> (forall b -> a (PointSize b)) -> forall c -> a c -> a c
3032match'PointSize = \a b c d -> <<type case function>>
3033
3034match'PointSpriteCoordOrigin
3035 :: forall (a :: Type -> Type)
3036 -> a PointSpriteCoordOrigin -> forall b -> a b -> a b
3037match'PointSpriteCoordOrigin = \a b c d -> <<type case function>>
3038
3039match'PolygonMode
3040 :: forall (a :: Type -> Type)
3041 -> (forall b -> a (PolygonMode b)) -> forall c -> a c -> a c
3042match'PolygonMode = \a b c d -> <<type case function>>
3043
3044match'PolygonOffset
3045 :: forall (a :: Type -> Type) -> a PolygonOffset -> forall b -> a b -> a b
3046match'PolygonOffset = \a b c d -> <<type case function>>
3047
3048match'Primitive
3049 :: forall (a :: Type -> Type)
3050 -> (forall b (c :: PrimitiveType) -> a (Primitive b c))
3051 -> forall d -> a d -> a d
3052match'Primitive = \a b c d -> <<type case function>>
3053
3054match'PrimitiveType
3055 :: forall (a :: Type -> Type) -> a PrimitiveType -> forall b -> a b -> a b
3056match'PrimitiveType = \a b c d -> <<type case function>>
3057
3058match'ProvokingVertex
3059 :: forall (a :: Type -> Type) -> a ProvokingVertex -> forall b -> a b -> a b
3060match'ProvokingVertex = \a b c d -> <<type case function>>
3061
3062match'RasterContext
3063 :: forall (a :: Type -> Type)
3064 -> (forall b (c :: PrimitiveType) -> a (RasterContext b c))
3065 -> forall d -> a d -> a d
3066match'RasterContext = \a b c d -> <<type case function>>
3067
3068match'Sampler
3069 :: forall (a :: Type -> Type) -> a Sampler -> forall b -> a b -> a b
3070match'Sampler = \a b c d -> <<type case function>>
3071
3072match'SimpleFragment
3073 :: forall (a :: Type -> Type)
3074 -> (forall b -> a (SimpleFragment b)) -> forall c -> a c -> a c
3075match'SimpleFragment = \a b c d -> <<type case function>>
3076
3077match'StencilOperation
3078 :: forall (a :: Type -> Type) -> a StencilOperation -> forall b -> a b -> a b
3079match'StencilOperation = \a b c d -> <<type case function>>
3080
3081match'StencilOps
3082 :: forall (a :: Type -> Type) -> a StencilOps -> forall b -> a b -> a b
3083match'StencilOps = \a b c d -> <<type case function>>
3084
3085match'StencilTests
3086 :: forall (a :: Type -> Type) -> a StencilTests -> forall b -> a b -> a b
3087match'StencilTests = \a b c d -> <<type case function>>
3088
3089match'Swizz :: forall (a :: Type -> Type) -> a Swizz -> forall b -> a b -> a b
3090match'Swizz = \a b c d -> <<type case function>>
3091
3092match'Texture
3093 :: forall (a :: Type -> Type) -> a Texture -> forall b -> a b -> a b
3094match'Texture = \a b c d -> <<type case function>>
3095
3096match'VecS
3097 :: forall (a :: Type -> Type)
3098 -> (forall b (c :: Nat) -> a (VecS b c)) -> forall d -> a d -> a d
3099match'VecS = \a b c d -> <<type case function>>
3100
3101match'Vector
3102 :: forall (a :: Type -> Type)
3103 -> (forall (b :: Nat) c -> a (Vector b c)) -> forall d -> a d -> a d
3104match'Vector = \a b c d -> <<type case function>>
3105
3106one :: forall a . Component a => a
3107one
3108 = \a _ -> match'Int
3109 (\b -> b)
3110 (_rhs 1)
3111 a
3112 (match'Word
3113 (\c -> c)
3114 (_rhs (primIntToWord 1))
3115 a
3116 (match'Float
3117 (\d -> d)
3118 (_rhs 1.0)
3119 a
3120 (match'VecS
3121 (\e -> e)
3122 (\f g -> match'Float
3123 (\h -> 'VecS h g)
3124 (case'Nat
3125 (\i -> 'VecS 'Float i)
3126 (_rhs (undefined ('VecS 'Float 0)))
3127 (\j -> case'Nat
3128 (\k -> 'VecS 'Float (Succ k))
3129 (_rhs (undefined ('VecS 'Float 1)))
3130 (\l -> case'Nat
3131 (\m -> 'VecS 'Float (Succ (Succ m)))
3132 (_rhs (V2 1.0 1.0))
3133 (\n -> case'Nat
3134 (\o -> 'VecS 'Float (Succ (Succ (Succ o))))
3135 (_rhs (V3 1.0 1.0 1.0))
3136 (\p -> case'Nat
3137 (\q -> 'VecS 'Float (Succ (Succ (Succ (Succ q)))))
3138 (_rhs (V4 1.0 1.0 1.0 1.0))
3139 (\r -> _rhs (undefined ('VecS 'Float (Succ (Succ (Succ (Succ (Succ r))))))))
3140 p)
3141 n)
3142 l)
3143 j)
3144 g)
3145 f
3146 (match'Bool
3147 (\s -> 'VecS s g)
3148 (case'Nat
3149 (\t -> 'VecS 'Bool t)
3150 (_rhs (undefined ('VecS 'Bool 0)))
3151 (\u -> case'Nat
3152 (\v -> 'VecS 'Bool (Succ v))
3153 (_rhs (undefined ('VecS 'Bool 1)))
3154 (\w -> case'Nat
3155 (\x -> 'VecS 'Bool (Succ (Succ x)))
3156 (_rhs (V2 True True))
3157 (\y -> case'Nat
3158 (\z -> 'VecS 'Bool (Succ (Succ (Succ z))))
3159 (_rhs (V3 True True True))
3160 (\a' -> case'Nat
3161 (\b' -> 'VecS 'Bool (Succ (Succ (Succ (Succ b')))))
3162 (_rhs (V4 True True True True))
3163 (\c' -> _rhs (undefined ('VecS 'Bool (Succ (Succ (Succ (Succ (Succ c'))))))))
3164 a')
3165 y)
3166 w)
3167 u)
3168 g)
3169 f
3170 (_rhs (undefined ('VecS f g)))))
3171 a
3172 (match'Bool (\d' -> d') (_rhs True) a (_rhs (undefined a))))))
3173
3174overlay
3175 :: forall (a :: Nat) (b :: [Type])
3176 . FrameBuffer a (map Type ImageKind FragmentOperationKind b)
3177 -> (HList b
3178 , [Fragment
3179 a
3180 (HList (imageType' (map Type ImageKind FragmentOperationKind b)))])
3181 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b)
3182overlay
3183 = \a b c d -> hlistConsCase
3184 ('HList b)
3185 [['Vector
3186 a
3187 ('Maybe
3188 ('SimpleFragment
3189 ('HList (imageType' (map Type 'ImageKind 'FragmentOperationKind b)))))]]
3190 ('FrameBuffer a (map Type 'ImageKind 'FragmentOperationKind b))
3191 (\e f -> hlistConsCase
3192 ['Vector
3193 a
3194 ('Maybe
3195 ('SimpleFragment
3196 ('HList (imageType' (map Type 'ImageKind 'FragmentOperationKind b)))))]
3197 []
3198 ('FrameBuffer a (map Type 'ImageKind 'FragmentOperationKind b))
3199 (\g h -> hlistNilCase
3200 ('FrameBuffer a (map Type 'ImageKind 'FragmentOperationKind b))
3201 (_rhs (Accumulate (map Type 'ImageKind 'FragmentOperationKind b) a b TT e g c))
3202 h)
3203 f)
3204 d
3205
3206primTexture :: () -> Vec 2 Float -> Vec 4 Float
3207primTexture = \a b -> <<builtin>>
3208
1853rasterizePrimitive 3209rasterizePrimitive
1854 :: forall (a :: [Type]) (b :: [Type]) (c :: [Type]) (d :: PrimitiveType) 3210 :: forall (a :: [Type]) (b :: [Type]) (c :: [Type]) (d :: PrimitiveType)
1855 . (map Type Type Interpolated a ~ (b :: [Type]) 3211 . (map Type Type Interpolated a ~ (b :: [Type])
@@ -1857,108 +3213,150 @@ rasterizePrimitive
1857 => HList b 3213 => HList b
1858 -> RasterContext (HList c) d 3214 -> RasterContext (HList c) d
1859 -> Primitive (HList c) d -> FragmentStream 1 (HList a) 3215 -> Primitive (HList c) d -> FragmentStream 1 (HList a)
3216rasterizePrimitive = \a b c d e f g h i -> <<builtin>>
3217
1860rasterizePrimitives 3218rasterizePrimitives
1861 :: forall (a :: [Type]) (b :: PrimitiveType) 3219 :: forall (a :: [Type]) (b :: PrimitiveType)
1862 . RasterContext (HList (Vec 4 Float : a)) b 3220 . RasterContext (HList (Vec 4 Float : a)) b
1863 -> HList (map Type Type Interpolated a) 3221 -> HList (map Type Type Interpolated a)
1864 -> [Primitive (HList (Vec 4 Float : a)) b] 3222 -> [Primitive (HList (Vec 4 Float : a)) b]
1865 -> [Vector 1 (Maybe (SimpleFragment (HList a)))] 3223 -> [Vector 1 (Maybe (SimpleFragment (HList a)))]
1866'ImageLC :: Type -> Nat 3224rasterizePrimitives
1867allSame :: forall a . [a] -> Constraint 3225 = \a b c d e -> _rhs
1868sameLayerCounts :: [Type] -> Constraint 3226 (foldr
1869'FrameBuffer :: Nat -> [ImageKind] -> Type 3227 ['Vector 1 ('Maybe ('SimpleFragment ('HList a)))]
1870case'FrameBuffer 3228 ['Vector 1 ('Maybe ('SimpleFragment ('HList a)))]
1871 :: forall (a :: Nat) (b :: [ImageKind]) 3229 ((++) ('Vector 1 ('Maybe ('SimpleFragment ('HList a)))))
1872 . forall (c :: FrameBuffer a b -> Type) (d :: FrameBuffer a b) -> c d 3230 []
1873match'FrameBuffer 3231 (map
1874 :: forall (a :: Type -> Type) 3232 ('Primitive ('HList ('VecS 'Float 4 : a)) b)
1875 -> (forall (b :: Nat) (c :: [ImageKind]) -> a (FrameBuffer b c)) 3233 ['Vector 1 ('Maybe ('SimpleFragment ('HList a)))]
1876 -> forall d -> a d -> a d 3234 (\f -> rasterizePrimitive
1877imageType' :: [ImageKind] -> [Type]
1878'FragmentOperationKind :: Type -> ImageKind
1879Accumulate
1880 :: forall (a :: [ImageKind]) (b :: Nat) (c :: [Type])
1881 . (a ~ (map Type ImageKind FragmentOperationKind c :: [ImageKind]))
1882 => HList c
1883 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a
1884accumulateWith :: forall a b . a -> b -> (a, b)
1885overlay
1886 :: forall (a :: Nat) (b :: [Type])
1887 . FrameBuffer a (map Type ImageKind FragmentOperationKind b)
1888 -> (HList b
1889 , [Fragment
1890 a 3235 a
1891 (HList (imageType' (map Type ImageKind FragmentOperationKind b)))]) 3236 (map Type Type 'Interpolated a)
1892 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) 3237 ('VecS 'Float 4 : a)
1893'GetImageKind :: Type -> ImageKind 3238 b
1894FrameBuffer 3239 TT
1895 :: forall (a :: [Type]) 3240 TT
1896 . sameLayerCounts a 3241 d
1897 => HList a 3242 c
1898 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a) 3243 f)
1899imageFrame 3244 e))
1900 :: forall (a :: [Type]) 3245
1901 . sameLayerCounts a
1902 => HList a
1903 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a)
1904accumulate
1905 :: forall (a :: Nat) (b :: [Type]) c
1906 . HList b
1907 -> (c -> HList (imageType' (map Type ImageKind FragmentOperationKind b)))
1908 -> [Vector a (Maybe (SimpleFragment c))]
1909 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b)
1910 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b)
1911PrjImage :: forall (a :: ImageKind) . FrameBuffer 1 ' [a] -> Image 1 a
1912PrjImageColor
1913 :: FrameBuffer 1 ' ['Depth, 'Color (Vec 4 Float)]
1914 -> Image 1 ('Color (Vec 4 Float))
1915'Output :: Type
1916ScreenOut :: forall (a :: Nat) (b :: [ImageKind]) . FrameBuffer a b -> Output
1917case'Output
1918 :: forall (a :: Output -> Type)
1919 -> (forall (b :: Nat) (c :: [ImageKind])
1920 . forall (d :: FrameBuffer b c) -> a ('ScreenOut b c d))
1921 -> forall (e :: Output) -> a e
1922match'Output :: forall (a :: Type -> Type) -> a Output -> forall b -> a b -> a b
1923renderFrame :: forall (a :: Nat) (b :: [ImageKind]) . FrameBuffer a b -> Output 3246renderFrame :: forall (a :: Nat) (b :: [ImageKind]) . FrameBuffer a b -> Output
1924'Texture :: Type 3247renderFrame = _rhs ScreenOut
1925Texture2DSlot :: String -> Texture 3248
1926Texture2D :: Vec 2 Int -> Image 1 ('Color (Vec 4 Float)) -> Texture 3249sFragmentCoords :: forall a . SimpleFragment a -> VecS Float 3
1927case'Texture 3250sFragmentCoords
1928 :: forall (a :: Texture -> Type) 3251 = \_ a -> case'SimpleFragment (\_ -> 'VecS 'Float 3) (\b _ -> _rhs b) a
1929 -> (forall (b :: String) -> a ('Texture2DSlot b)) 3252
1930 -> (forall (c :: Vec 2 Int) (d :: Image 1 ('Color (Vec 4 Float))) 3253sFragmentValue :: forall a . SimpleFragment a -> a
1931 -> a ('Texture2D c d)) 3254sFragmentValue = \a b -> case'SimpleFragment (\_ -> a) (\_ c -> _rhs c) b
1932 -> forall (e :: Texture) -> a e 3255
1933match'Texture 3256sameLayerCounts :: [Type] -> Constraint
1934 :: forall (a :: Type -> Type) -> a Texture -> forall b -> a b -> a b 3257sameLayerCounts = \a -> _rhs (allSame 'Nat (map Type 'Nat 'ImageLC a))
1935'Filter :: Type 3258
1936PointFilter :: Filter 3259swizzscalar :: forall a (b :: Nat) . Vec b a -> Swizz -> a
1937LinearFilter :: Filter 3260swizzscalar
1938case'Filter 3261 = \a b c d -> case'VecS
1939 :: forall (a :: Filter -> Type) 3262 (\_ _ -> a)
1940 -> a 'PointFilter -> a 'LinearFilter -> forall (b :: Filter) -> a b 3263 (\e f -> case'Swizz
1941match'Filter :: forall (a :: Type -> Type) -> a Filter -> forall b -> a b -> a b 3264 (\_ -> a)
1942'EdgeMode :: Type 3265 (_rhs e)
1943Repeat :: EdgeMode 3266 (_rhs f)
1944MirroredRepeat :: EdgeMode 3267 (_rhs (undefined a))
1945ClampToEdge :: EdgeMode 3268 (_rhs (undefined a))
1946case'EdgeMode 3269 d)
1947 :: forall (a :: EdgeMode -> Type) 3270 (\g h i -> case'Swizz
1948 -> a 'Repeat 3271 (\_ -> a)
1949 -> a 'MirroredRepeat -> a 'ClampToEdge -> forall (b :: EdgeMode) -> a b 3272 (_rhs g)
1950match'EdgeMode 3273 (_rhs h)
1951 :: forall (a :: Type -> Type) -> a EdgeMode -> forall b -> a b -> a b 3274 (_rhs i)
1952'Sampler :: Type 3275 (_rhs (undefined a))
1953Sampler :: Filter -> EdgeMode -> Texture -> Sampler 3276 d)
1954case'Sampler 3277 (\j k l m -> case'Swizz (\_ -> a) (_rhs j) (_rhs k) (_rhs l) (_rhs m) d)
1955 :: forall (a :: Sampler -> Type) 3278 b
1956 -> (forall (b :: Filter) (c :: EdgeMode) (d :: Texture) -> a ('Sampler b c d)) 3279 c
1957 -> forall (e :: Sampler) -> a e 3280
1958match'Sampler 3281swizzvector
1959 :: forall (a :: Type -> Type) -> a Sampler -> forall b -> a b -> a b 3282 :: forall a (b :: Nat) (c :: Nat) . Vec b a -> Vec c Swizz -> VecS a c
3283swizzvector
3284 = \a b c d e -> case'Bool
3285 (\_ -> 'VecS a c)
3286 (_rhs (undefined ('VecS a c)))
3287 (_rhs (mapVec 'Swizz a c (swizzscalar a b d) e))
3288 (definedVec a b d)
3289
1960texture2D :: Sampler -> Vec 2 Float -> Vec 4 Float 3290texture2D :: Sampler -> Vec 2 Float -> Vec 4 Float
1961accumulationContext :: forall a . a -> a 3291texture2D = \a b -> <<builtin>>
3292
3293zero :: forall a . Component a => a
3294zero
3295 = \a _ -> match'Int
3296 (\b -> b)
3297 (_rhs 0)
3298 a
3299 (match'Word
3300 (\c -> c)
3301 (_rhs (primIntToWord 0))
3302 a
3303 (match'Float
3304 (\d -> d)
3305 (_rhs 0.0)
3306 a
3307 (match'VecS
3308 (\e -> e)
3309 (\f g -> match'Float
3310 (\h -> 'VecS h g)
3311 (case'Nat
3312 (\i -> 'VecS 'Float i)
3313 (_rhs (undefined ('VecS 'Float 0)))
3314 (\j -> case'Nat
3315 (\k -> 'VecS 'Float (Succ k))
3316 (_rhs (undefined ('VecS 'Float 1)))
3317 (\l -> case'Nat
3318 (\m -> 'VecS 'Float (Succ (Succ m)))
3319 (_rhs (V2 0.0 0.0))
3320 (\n -> case'Nat
3321 (\o -> 'VecS 'Float (Succ (Succ (Succ o))))
3322 (_rhs (V3 0.0 0.0 0.0))
3323 (\p -> case'Nat
3324 (\q -> 'VecS 'Float (Succ (Succ (Succ (Succ q)))))
3325 (_rhs (V4 0.0 0.0 0.0 0.0))
3326 (\r -> _rhs (undefined ('VecS 'Float (Succ (Succ (Succ (Succ (Succ r))))))))
3327 p)
3328 n)
3329 l)
3330 j)
3331 g)
3332 f
3333 (match'Bool
3334 (\s -> 'VecS s g)
3335 (case'Nat
3336 (\t -> 'VecS 'Bool t)
3337 (_rhs (undefined ('VecS 'Bool 0)))
3338 (\u -> case'Nat
3339 (\v -> 'VecS 'Bool (Succ v))
3340 (_rhs (undefined ('VecS 'Bool 1)))
3341 (\w -> case'Nat
3342 (\x -> 'VecS 'Bool (Succ (Succ x)))
3343 (_rhs (V2 False False))
3344 (\y -> case'Nat
3345 (\z -> 'VecS 'Bool (Succ (Succ (Succ z))))
3346 (_rhs (V3 False False False))
3347 (\a' -> case'Nat
3348 (\b' -> 'VecS 'Bool (Succ (Succ (Succ (Succ b')))))
3349 (_rhs (V4 False False False False))
3350 (\c' -> _rhs (undefined ('VecS 'Bool (Succ (Succ (Succ (Succ (Succ c'))))))))
3351 a')
3352 y)
3353 w)
3354 u)
3355 g)
3356 f
3357 (_rhs (undefined ('VecS f g)))))
3358 a
3359 (match'Bool (\d' -> d') (_rhs False) a (_rhs (undefined a))))))
1962------------ tooltips 3360------------ tooltips
1963testdata/Builtins.lc 10:1-10:3 3361testdata/Builtins.lc 10:1-10:3
1964 forall a . a -> a 3362 forall a . a -> a