main is not found ------------ trace id :: {a} -> a->a 'AttributeTuple :: Type->Type 'ValidOutput :: Type->Type 'VecS :: Type -> 'Nat->Type V2 :: {a} -> a -> a -> 'VecS a 2 V3 :: {a} -> a -> a -> a -> 'VecS a 3 V4 :: {a} -> a -> a -> a -> a -> 'VecS a 4 'VecSCase :: {a} -> (d : b:'Nat -> 'VecS a b -> Type) -> (e:a -> f:a -> d 2 (V2 e f)) -> (h:a -> i:a -> j:a -> d 3 (V3 h i j)) -> (l:a -> m:a -> n:a -> o:a -> d 4 (V4 l m n o)) -> {q:'Nat} -> (r : 'VecS a q) -> d q r match'VecS :: (b : Type->Type) -> (c:Type -> d:'Nat -> b ('VecS c d)) -> f:Type -> b f -> b f 'Vec :: 'Nat -> Type->Type 'VecScalar :: 'Nat -> Type->Type 'TFVec :: 'Nat -> Type->Type 'Mat :: 'Nat -> 'Nat -> Type->Type M22F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 2 'Float M32F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 2 'Float M42F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 2 'Float M23F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 3 'Float M33F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 3 'Float M43F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 3 'Float M24F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 4 'Float M34F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 4 'Float M44F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 4 'Float 'MatCase :: (e : a:'Nat -> b:'Nat -> c:Type -> 'Mat a b c -> Type) -> ((f : 'Vec 2 'Float) -> (g : 'Vec 2 'Float) -> e 2 2 'Float (M22F f g)) -> ((i : 'Vec 3 'Float) -> (j : 'Vec 3 'Float) -> e 3 2 'Float (M32F i j)) -> ((l : 'Vec 4 'Float) -> (m : 'Vec 4 'Float) -> e 4 2 'Float (M42F l m)) -> ((o : 'Vec 2 'Float) -> (p : 'Vec 2 'Float) -> (q : 'Vec 2 'Float) -> e 2 3 'Float (M23F o p q)) -> ((s : 'Vec 3 'Float) -> (t : 'Vec 3 'Float) -> (u : 'Vec 3 'Float) -> e 3 3 'Float (M33F s t u)) -> ((w : 'Vec 4 'Float) -> (x : 'Vec 4 'Float) -> (y : 'Vec 4 'Float) -> e 4 3 'Float (M43F w x y)) -> ((a' : 'Vec 2 'Float) -> (b' : 'Vec 2 'Float) -> (c' : 'Vec 2 'Float) -> (d' : 'Vec 2 'Float) -> e 2 4 'Float (M24F a' b' c' d')) -> ((f' : 'Vec 3 'Float) -> (g' : 'Vec 3 'Float) -> (h' : 'Vec 3 'Float) -> (i' : 'Vec 3 'Float) -> e 3 4 'Float (M34F f' g' h' i')) -> ((k' : 'Vec 4 'Float) -> (l' : 'Vec 4 'Float) -> (m' : 'Vec 4 'Float) -> (n' : 'Vec 4 'Float) -> e 4 4 'Float (M44F k' l' m' n')) -> {p':'Nat} -> {q':'Nat} -> {r'} -> (s' : 'Mat p' q' r') -> e p' q' r' s' match'Mat :: (b : Type->Type) -> (c:'Nat -> d:'Nat -> e:Type -> b ('Mat c d e)) -> g:Type -> b g -> b g 'MatVecScalarElem :: Type->Type 'Swizz :: Type Sx :: 'Swizz Sy :: 'Swizz Sz :: 'Swizz Sw :: 'Swizz 'SwizzCase :: (b : 'Swizz->Type) -> b Sx -> b Sy -> b Sz -> b Sw -> g:'Swizz -> b g match'Swizz :: (b : Type->Type) -> b 'Swizz -> d:Type -> b d -> b d mapVec :: {a} -> {b} -> {c:'Nat} -> a->b -> 'VecS a c -> 'VecS b c swizzscalar :: {a} -> {b:'Nat} -> 'Vec b a -> 'Swizz->a definedVec :: {a} -> {b:'Nat} -> 'Vec b a -> 'Bool swizzvector :: {a} -> {b:'Nat} -> {c:'Nat} -> 'Vec b a -> 'Vec c 'Swizz -> 'VecS a c 'Signed :: Type->Type 'Component :: Type->Type zeroComp :: {a} -> {b : 'Component a}->a oneComp :: {a} -> {b : 'Component a}->a 'Integral :: Type->Type 'Floating :: Type->Type 'BlendingFactor :: Type Zero' :: 'BlendingFactor One :: 'BlendingFactor SrcColor :: 'BlendingFactor OneMinusSrcColor :: 'BlendingFactor DstColor :: 'BlendingFactor OneMinusDstColor :: 'BlendingFactor SrcAlpha :: 'BlendingFactor OneMinusSrcAlpha :: 'BlendingFactor DstAlpha :: 'BlendingFactor OneMinusDstAlpha :: 'BlendingFactor ConstantColor :: 'BlendingFactor OneMinusConstantColor :: 'BlendingFactor ConstantAlpha :: 'BlendingFactor OneMinusConstantAlpha :: 'BlendingFactor SrcAlphaSaturate :: 'BlendingFactor 'BlendingFactorCase :: (b : 'BlendingFactor->Type) -> b Zero' -> b One -> b SrcColor -> b OneMinusSrcColor -> b DstColor -> b OneMinusDstColor -> b SrcAlpha -> b OneMinusSrcAlpha -> b DstAlpha -> b OneMinusDstAlpha -> b ConstantColor -> b OneMinusConstantColor -> b ConstantAlpha -> b OneMinusConstantAlpha -> b SrcAlphaSaturate -> r:'BlendingFactor -> b r match'BlendingFactor :: (b : Type->Type) -> b 'BlendingFactor -> d:Type -> b d -> b d 'BlendEquation :: Type FuncAdd :: 'BlendEquation FuncSubtract :: 'BlendEquation FuncReverseSubtract :: 'BlendEquation Min :: 'BlendEquation Max :: 'BlendEquation 'BlendEquationCase :: (b : 'BlendEquation->Type) -> b FuncAdd -> b FuncSubtract -> b FuncReverseSubtract -> b Min -> b Max -> h:'BlendEquation -> b h match'BlendEquation :: (b : Type->Type) -> b 'BlendEquation -> d:Type -> b d -> b d 'LogicOperation :: Type Clear :: 'LogicOperation And :: 'LogicOperation AndReverse :: 'LogicOperation Copy :: 'LogicOperation AndInverted :: 'LogicOperation Noop :: 'LogicOperation Xor :: 'LogicOperation Or :: 'LogicOperation Nor :: 'LogicOperation Equiv :: 'LogicOperation Invert :: 'LogicOperation OrReverse :: 'LogicOperation CopyInverted :: 'LogicOperation OrInverted :: 'LogicOperation Nand :: 'LogicOperation Set :: 'LogicOperation 'LogicOperationCase :: (b : 'LogicOperation->Type) -> b Clear -> b And -> b AndReverse -> b Copy -> b AndInverted -> b Noop -> b Xor -> b Or -> b Nor -> b Equiv -> b Invert -> b OrReverse -> b CopyInverted -> b OrInverted -> b Nand -> b Set -> s:'LogicOperation -> b s match'LogicOperation :: (b : Type->Type) -> b 'LogicOperation -> d:Type -> b d -> b d 'StencilOperation :: Type OpZero :: 'StencilOperation OpKeep :: 'StencilOperation OpReplace :: 'StencilOperation OpIncr :: 'StencilOperation OpIncrWrap :: 'StencilOperation OpDecr :: 'StencilOperation OpDecrWrap :: 'StencilOperation OpInvert :: 'StencilOperation 'StencilOperationCase :: (b : 'StencilOperation->Type) -> b OpZero -> b OpKeep -> b OpReplace -> b OpIncr -> b OpIncrWrap -> b OpDecr -> b OpDecrWrap -> b OpInvert -> k:'StencilOperation -> b k match'StencilOperation :: (b : Type->Type) -> b 'StencilOperation -> d:Type -> b d -> b d 'ComparisonFunction :: Type Never :: 'ComparisonFunction Less :: 'ComparisonFunction Equal :: 'ComparisonFunction Lequal :: 'ComparisonFunction Greater :: 'ComparisonFunction Notequal :: 'ComparisonFunction Gequal :: 'ComparisonFunction Always :: 'ComparisonFunction 'ComparisonFunctionCase :: (b : 'ComparisonFunction->Type) -> b Never -> b Less -> b Equal -> b Lequal -> b Greater -> b Notequal -> b Gequal -> b Always -> k:'ComparisonFunction -> b k match'ComparisonFunction :: (b : Type->Type) -> b 'ComparisonFunction -> d:Type -> b d -> b d 'ProvokingVertex :: Type LastVertex :: 'ProvokingVertex FirstVertex :: 'ProvokingVertex 'ProvokingVertexCase :: (b : 'ProvokingVertex->Type) -> b LastVertex -> b FirstVertex -> e:'ProvokingVertex -> b e match'ProvokingVertex :: (b : Type->Type) -> b 'ProvokingVertex -> d:Type -> b d -> b d 'CullMode :: Type CullFront :: 'CullMode CullBack :: 'CullMode CullNone :: 'CullMode 'CullModeCase :: (b : 'CullMode->Type) -> b CullFront -> b CullBack -> b CullNone -> f:'CullMode -> b f match'CullMode :: (b : Type->Type) -> b 'CullMode -> d:Type -> b d -> b d 'PointSize :: Type->Type PointSize :: {a} -> 'Float -> 'PointSize a ProgramPointSize :: {a} -> a->'Float -> 'PointSize a 'PointSizeCase :: {a} -> (c : 'PointSize a -> Type) -> (d:'Float -> c (PointSize d)) -> ((g : a->'Float) -> c (ProgramPointSize g)) -> (i : 'PointSize a) -> c i match'PointSize :: (b : Type->Type) -> (c:Type -> b ('PointSize c)) -> e:Type -> b e -> b e 'PolygonMode :: Type->Type PolygonFill :: {a} -> 'PolygonMode a PolygonPoint :: {a} -> 'PointSize a -> 'PolygonMode a PolygonLine :: {a} -> 'Float -> 'PolygonMode a 'PolygonModeCase :: {a} -> (c : 'PolygonMode a -> Type) -> c PolygonFill -> ((e : 'PointSize a) -> c (PolygonPoint e)) -> (g:'Float -> c (PolygonLine g)) -> (i : 'PolygonMode a) -> c i match'PolygonMode :: (b : Type->Type) -> (c:Type -> b ('PolygonMode c)) -> e:Type -> b e -> b e 'PolygonOffset :: Type NoOffset :: 'PolygonOffset Offset :: 'Float -> 'Float->'PolygonOffset 'PolygonOffsetCase :: (b : 'PolygonOffset->Type) -> b NoOffset -> (d:'Float -> e:'Float -> b (Offset d e)) -> g:'PolygonOffset -> b g match'PolygonOffset :: (b : Type->Type) -> b 'PolygonOffset -> d:Type -> b d -> b d 'PointSpriteCoordOrigin :: Type LowerLeft :: 'PointSpriteCoordOrigin UpperLeft :: 'PointSpriteCoordOrigin 'PointSpriteCoordOriginCase :: (b : 'PointSpriteCoordOrigin->Type) -> b LowerLeft -> b UpperLeft -> e:'PointSpriteCoordOrigin -> b e match'PointSpriteCoordOrigin :: (b : Type->Type) -> b 'PointSpriteCoordOrigin -> d:Type -> b d -> b d 'ImageSemantics :: Type Depth :: Type->'ImageSemantics Stencil :: Type->'ImageSemantics Color :: Type->'ImageSemantics 'ImageSemanticsCase :: (b : 'ImageSemantics->Type) -> (c:Type -> b (Depth c)) -> (e:Type -> b (Stencil e)) -> (g:Type -> b (Color g)) -> i:'ImageSemantics -> b i match'ImageSemantics :: (b : Type->Type) -> b 'ImageSemantics -> d:Type -> b d -> b d 'PrimitiveType :: Type Triangle :: 'PrimitiveType Line :: 'PrimitiveType Point :: 'PrimitiveType TriangleAdjacency :: 'PrimitiveType LineAdjacency :: 'PrimitiveType 'PrimitiveTypeCase :: (b : 'PrimitiveType->Type) -> b Triangle -> b Line -> b Point -> b TriangleAdjacency -> b LineAdjacency -> h:'PrimitiveType -> b h match'PrimitiveType :: (b : Type->Type) -> b 'PrimitiveType -> d:Type -> b d -> b d primTexture :: 'Tuple0 -> 'Vec 2 'Float -> 'Vec 4 'Float Uniform :: {a} -> 'String->a Attribute :: {a} -> 'String->a 'RasterContext :: Type -> 'PrimitiveType->Type TriangleCtx :: {a} -> 'CullMode -> 'PolygonMode a -> 'PolygonOffset -> 'ProvokingVertex -> 'RasterContext a Triangle PointCtx :: {a} -> 'PointSize a -> 'Float -> 'PointSpriteCoordOrigin -> 'RasterContext a Point LineCtx :: {a} -> 'Float -> 'ProvokingVertex -> 'RasterContext a Line 'RasterContextCase :: {a} -> (d : b:'PrimitiveType -> 'RasterContext a b -> Type) -> (e:'CullMode -> (f : 'PolygonMode a) -> g:'PolygonOffset -> h:'ProvokingVertex -> d Triangle (TriangleCtx e f g h)) -> ((j : 'PointSize a) -> k:'Float -> l:'PointSpriteCoordOrigin -> d Point (PointCtx j k l)) -> (n:'Float -> o:'ProvokingVertex -> d Line (LineCtx n o)) -> {q:'PrimitiveType} -> (r : 'RasterContext a q) -> d q r match'RasterContext :: (b : Type->Type) -> (c:Type -> d:'PrimitiveType -> b ('RasterContext c d)) -> f:Type -> b f -> b f 'FTRepr' :: Type->Type 'Blending :: Type->Type NoBlending :: {a} -> 'Blending a BlendLogicOp :: {a} -> {b : 'Integral a} -> 'LogicOperation -> 'Blending a Blend :: 'Tuple2 'BlendEquation 'BlendEquation -> 'Tuple2 ('Tuple2 'BlendingFactor 'BlendingFactor) ('Tuple2 'BlendingFactor 'BlendingFactor) -> 'Vec 4 'Float -> 'Blending 'Float 'BlendingCase :: (c : a:Type -> 'Blending a -> Type) -> ({d} -> c d (NoBlending d)) -> ({f} -> {g : 'Integral f} -> h:'LogicOperation -> c f (BlendLogicOp f g h)) -> ((j : 'Tuple2 'BlendEquation 'BlendEquation) -> (k : 'Tuple2 ('Tuple2 'BlendingFactor 'BlendingFactor) ('Tuple2 'BlendingFactor 'BlendingFactor)) -> (l : 'Vec 4 'Float) -> c 'Float (Blend j k l)) -> {n} -> (o : 'Blending n) -> c n o match'Blending :: (b : Type->Type) -> (c:Type -> b ('Blending c)) -> e:Type -> b e -> b e 'StencilTests :: Type 'StencilTestsCase :: (b : 'StencilTests->Type) -> c:'StencilTests -> b c match'StencilTests :: (b : Type->Type) -> b 'StencilTests -> d:Type -> b d -> b d 'StencilOps :: Type 'StencilOpsCase :: (b : 'StencilOps->Type) -> c:'StencilOps -> b c match'StencilOps :: (b : Type->Type) -> b 'StencilOps -> d:Type -> b d -> b d 'Int32 :: Type 'Int32Case :: (b : 'Int32->Type) -> c:'Int32 -> b c match'Int32 :: (b : Type->Type) -> b 'Int32 -> d:Type -> b d -> b d 'FragmentOperation :: 'ImageSemantics->Type ColorOp :: {a} -> {b:'Nat} -> {c} -> {d} -> {e : a ~ 'VecScalar b 'Bool} -> {f : c ~ 'VecScalar b d} -> {g : 'Num d} -> 'Blending d -> a -> 'FragmentOperation (Color c) DepthOp :: 'ComparisonFunction -> 'Bool -> 'FragmentOperation (Depth 'Float) StencilOp :: 'StencilTests -> 'StencilOps -> 'StencilOps -> 'FragmentOperation (Stencil 'Int32) 'FragmentOperationCase :: (c : a:'ImageSemantics -> 'FragmentOperation a -> Type) -> ({d} -> {e:'Nat} -> {f} -> {g} -> {h : d ~ 'VecScalar e 'Bool} -> {i : f ~ 'VecScalar e g} -> {j : 'Num g} -> (k : 'Blending g) -> l:d -> c (Color f) (ColorOp d e f g h i j k l)) -> (n:'ComparisonFunction -> o:'Bool -> c (Depth 'Float) (DepthOp n o)) -> (q:'StencilTests -> r:'StencilOps -> s:'StencilOps -> c (Stencil 'Int32) (StencilOp q r s)) -> {u:'ImageSemantics} -> (v : 'FragmentOperation u) -> c u v match'FragmentOperation :: (b : Type->Type) -> (c:'ImageSemantics -> b ('FragmentOperation c)) -> e:Type -> b e -> b e 'FragOps :: 'List 'ImageSemantics -> Type ++ :: {a} -> 'List a -> 'List a -> 'List a foldr :: {a} -> {b} -> (b -> a->a) -> a -> 'List b -> a concat :: {a} -> 'List ('List a) -> 'List a map :: {a} -> {b} -> a->b -> 'List a -> 'List b concatMap :: {a} -> {b} -> (a -> 'List b) -> 'List a -> 'List b 'Primitive :: Type -> 'PrimitiveType->Type PrimPoint :: {a} -> a -> 'Primitive a Point PrimLine :: {a} -> a -> a -> 'Primitive a Line PrimTriangle :: {a} -> a -> a -> a -> 'Primitive a Triangle 'PrimitiveCase :: {a} -> (d : b:'PrimitiveType -> 'Primitive a b -> Type) -> (e:a -> d Point (PrimPoint e)) -> (g:a -> h:a -> d Line (PrimLine g h)) -> (j:a -> k:a -> l:a -> d Triangle (PrimTriangle j k l)) -> {n:'PrimitiveType} -> (o : 'Primitive a n) -> d n o match'Primitive :: (b : Type->Type) -> (c:Type -> d:'PrimitiveType -> b ('Primitive c d)) -> f:Type -> b f -> b f 'PrimitiveStream :: 'PrimitiveType -> Type->Type mapPrimitive :: {a} -> {b} -> {c:'PrimitiveType} -> a->b -> 'Primitive a c -> 'Primitive b c fetch_ :: {a:'PrimitiveType} -> {b} -> {c : 'AttributeTuple b} -> 'String -> b -> 'PrimitiveStream a b fetchArrays_ :: {a:'PrimitiveType} -> {b} -> {c} -> {d : 'AttributeTuple b} -> {e : b ~ 'FTRepr' c} -> c -> 'PrimitiveStream a b mapPrimitives :: {a} -> {b} -> {c:'PrimitiveType} -> a->b -> 'List ('Primitive a c) -> 'List ('Primitive b c) fetch :: {a} -> 'String -> c:'PrimitiveType -> a -> 'PrimitiveStream c a fetchArrays :: {a} -> b:'PrimitiveType -> a -> 'PrimitiveStream b ('FTRepr' a) remSemantics :: 'ImageSemantics->Type remSemantics_ :: 'List 'ImageSemantics -> Type remSemantics' :: 'List 'ImageSemantics -> Type 'Maybe :: Type->Type Nothing :: {a} -> 'Maybe a Just :: {a} -> a -> 'Maybe a 'MaybeCase :: {a} -> (c : 'Maybe a -> Type) -> c Nothing -> (e:a -> c (Just e)) -> (g : 'Maybe a) -> c g match'Maybe :: (b : Type->Type) -> (c:Type -> b ('Maybe c)) -> e:Type -> b e -> b e 'Vector :: 'Nat -> Type->Type 'VectorCase :: {a:'Nat} -> {b} -> (d : 'Vector a b -> Type) -> (e : 'Vector a b) -> d e match'Vector :: (b : Type->Type) -> (c:'Nat -> d:Type -> b ('Vector c d)) -> f:Type -> b f -> b f 'SimpleFragment :: Type->Type SimpleFragment :: {a} -> 'Vec 3 'Float -> a -> 'SimpleFragment a 'SimpleFragmentCase :: {a} -> (c : 'SimpleFragment a -> Type) -> ((d : 'Vec 3 'Float) -> e:a -> c (SimpleFragment d e)) -> (g : 'SimpleFragment a) -> c g match'SimpleFragment :: (b : Type->Type) -> (c:Type -> b ('SimpleFragment c)) -> e:Type -> b e -> b e 'Fragment :: 'Nat -> Type->Type sFragmentValue :: {a} -> 'SimpleFragment a -> a sFragmentCoords :: {a} -> 'SimpleFragment a -> 'VecS 'Float 3 'FragmentStream :: 'Nat -> Type->Type customizeDepth :: {a} -> {b:'Nat} -> a->'Float -> 'Fragment b a -> 'Fragment b a customizeDepths :: {a} -> {b:'Nat} -> a->'Float -> 'List ('Vector b ('Maybe ('SimpleFragment a))) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) filterFragment :: {a} -> {b:'Nat} -> a->'Bool -> 'Fragment b a -> 'Fragment b a filterFragments :: {a} -> {b:'Nat} -> a->'Bool -> 'List ('Vector b ('Maybe ('SimpleFragment a))) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) mapFragment :: {a} -> {b} -> {c:'Nat} -> a->b -> 'Fragment c a -> 'Fragment c b mapFragments :: {a} -> {b} -> {c:'Nat} -> a->b -> 'List ('Vector c ('Maybe ('SimpleFragment a))) -> 'List ('Vector c ('Maybe ('SimpleFragment b))) 'Interpolated :: Type->Type Smooth :: {a} -> {b : 'Floating a} -> 'Interpolated a NoPerspective :: {a} -> {b : 'Floating a} -> 'Interpolated a Flat :: {a} -> 'Interpolated a 'InterpolatedCase :: {a} -> (c : 'Interpolated a -> Type) -> ({d : 'Floating a} -> c (Smooth d)) -> ({f : 'Floating a} -> c (NoPerspective f)) -> c Flat -> (i : 'Interpolated a) -> c i match'Interpolated :: (b : Type->Type) -> (c:Type -> b ('Interpolated c)) -> e:Type -> b e -> b e 'InterpolatedType :: Type->Type rasterizePrimitive :: {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('Vec 4 'Float) a} -> b -> 'RasterContext c d -> 'Primitive c d -> 'FragmentStream 1 a rasterizePrimitives :: {a} -> {b:'PrimitiveType} -> 'RasterContext ('JoinTupleType ('Vec 4 'Float) ('InterpolatedType a)) b -> a -> 'List ('Primitive ('JoinTupleType ('Vec 4 'Float) ('InterpolatedType a)) b) -> 'List ('Vector 1 ('Maybe ('SimpleFragment ('InterpolatedType a)))) 'Image :: 'Nat -> 'ImageSemantics->Type 'ImageCase :: {a:'Nat} -> {b:'ImageSemantics} -> (d : 'Image a b -> Type) -> (e : 'Image a b) -> d e match'Image :: (b : Type->Type) -> (c:'Nat -> d:'ImageSemantics -> b ('Image c d)) -> f:Type -> b f -> b f ColorImage :: {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : d ~ 'VecScalar b c} -> d -> 'Image a (Color d) DepthImage :: {a:'Nat} -> 'Float -> 'Image a (Depth 'Float) StencilImage :: {a:'Nat} -> 'Int -> 'Image a (Stencil 'Int) 'SameLayerCounts :: Type->Type 'FrameBuffer :: 'Nat -> 'List 'ImageSemantics -> Type 'FrameBufferCase :: {a:'Nat} -> {b : 'List 'ImageSemantics} -> (d : 'FrameBuffer a b -> Type) -> (e : 'FrameBuffer a b) -> d e match'FrameBuffer :: (b : Type->Type) -> (c:'Nat -> (d : 'List 'ImageSemantics) -> b ('FrameBuffer c d)) -> f:Type -> b f -> b f Accumulate :: {a : 'List 'ImageSemantics} -> {b:'Nat} -> 'FragOps a -> 'FragmentStream b (remSemantics' a) -> 'FrameBuffer b a -> 'FrameBuffer b a 'TFFrameBuffer :: Type->Type 'ValidFrameBuffer :: 'List 'ImageSemantics -> Type FrameBuffer :: {a : 'List 'ImageSemantics} -> {b} -> {c:'Nat} -> {d : 'ValidFrameBuffer a} -> {e : 'SameLayerCounts b} -> {f : 'FrameBuffer c a ~ 'TFFrameBuffer b} -> b -> 'FrameBuffer c a accumulate :: {a : 'List 'ImageSemantics} -> {b:'Nat} -> {c} -> 'FragOps a -> (c -> remSemantics' a) -> 'List ('Vector b ('Maybe ('SimpleFragment c))) -> 'FrameBuffer b a -> 'FrameBuffer b a accumulationContext :: {a} -> a->a PrjImage :: {a:'ImageSemantics} -> 'FrameBuffer 1 (Cons a Nil) -> 'Image 1 a PrjImageColor :: 'FrameBuffer 1 (Cons (Depth 'Float) (Cons (Color ('Vec 4 'Float)) Nil)) -> 'Image 1 (Color ('Vec 4 'Float)) 'Output :: Type ScreenOut :: {a:'Nat} -> {b : 'List 'ImageSemantics} -> 'FrameBuffer a b -> 'Output 'OutputCase :: (b : 'Output->Type) -> ({c:'Nat} -> {d : 'List 'ImageSemantics} -> (e : 'FrameBuffer c d) -> b (ScreenOut c d e)) -> g:'Output -> b g match'Output :: (b : Type->Type) -> b 'Output -> d:Type -> b d -> b d PrimAdd :: {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a PrimSub :: {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a PrimMul :: {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a PrimAddS :: {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b PrimSubS :: {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b PrimMulS :: {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b PrimDiv :: {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b PrimMod :: {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b PrimDivS :: {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b PrimModS :: {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b PrimNeg :: {a} -> {b : 'Signed ('MatVecScalarElem a)} -> a->a PrimBAnd :: {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b PrimBOr :: {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b PrimBXor :: {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b PrimBAndS :: {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b PrimBOrS :: {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b PrimBXorS :: {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b PrimBNot :: {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b->b PrimBShiftL :: {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b PrimBShiftR :: {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b PrimBShiftLS :: {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b PrimBShiftRS :: {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b PrimAnd :: 'Bool -> 'Bool->'Bool PrimOr :: 'Bool -> 'Bool->'Bool PrimXor :: 'Bool -> 'Bool->'Bool PrimNot :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Bool} -> a->a PrimAny :: {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool PrimAll :: {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool PrimACos :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimACosH :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimASin :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimASinH :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimATan :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimATanH :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimCos :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimCosH :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimDegrees :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimRadians :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimSin :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimSinH :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimTan :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimTanH :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimExp :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimLog :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimExp2 :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimLog2 :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimSqrt :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimInvSqrt :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimPow :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a PrimATan2 :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a PrimFloor :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimTrunc :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimRound :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimRoundEven :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimCeil :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimFract :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimMin :: {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b PrimMax :: {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b PrimMinS :: {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b PrimMaxS :: {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b PrimIsNan :: {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c PrimIsInf :: {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c PrimAbs :: {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b PrimSign :: {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b PrimModF :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> 'Tuple2 a a PrimClamp :: {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b -> b->b PrimClampS :: {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a -> a->b PrimMix :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a PrimMixS :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> 'Float->a PrimMixB :: {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a -> a -> c->a PrimStep :: {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a->a PrimStepS :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> a->a PrimSmoothStep :: {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a -> a->a PrimSmoothStepS :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> 'Float -> a->a PrimFloatBitsToInt :: {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Int PrimFloatBitsToUInt :: {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Word PrimIntBitsToFloat :: {a:'Nat} -> 'VecScalar a 'Int -> 'VecScalar a 'Float PrimUIntBitsToFloat :: {a:'Nat} -> 'VecScalar a 'Word -> 'VecScalar a 'Float PrimLength :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->'Float PrimDistance :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float PrimDot :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float PrimCross :: {a} -> {b : a ~ 'VecS 'Float 3} -> a -> a->a PrimNormalize :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimFaceForward :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a PrimRefract :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a PrimReflect :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a PrimTranspose :: {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'Mat b a c PrimDeterminant :: {a:'Nat} -> {b} -> 'Mat a a b -> 'Float PrimInverse :: {a:'Nat} -> {b} -> 'Mat a a b -> 'Mat a a b PrimOuterProduct :: {a:'Nat} -> {b} -> {c:'Nat} -> 'Vec a b -> 'Vec c b -> 'Mat c a b PrimMulMatVec :: {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'Vec b c -> 'Vec a c PrimMulVecMat :: {a:'Nat} -> {b} -> {c:'Nat} -> 'Vec a b -> 'Mat a c b -> 'Vec c b PrimMulMatMat :: {a:'Nat} -> {b:'Nat} -> {c} -> {d:'Nat} -> 'Mat a b c -> 'Mat b d c -> 'Mat a d c PrimLessThan :: {a} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : a ~ 'VecScalar b c} -> {g : d ~ 'VecScalar b 'Bool} -> a -> a->d PrimLessThanEqual :: {a} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : a ~ 'VecScalar b c} -> {g : d ~ 'VecScalar b 'Bool} -> a -> a->d PrimGreaterThan :: {a} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : a ~ 'VecScalar b c} -> {g : d ~ 'VecScalar b 'Bool} -> a -> a->d PrimGreaterThanEqual :: {a} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : a ~ 'VecScalar b c} -> {g : d ~ 'VecScalar b 'Bool} -> a -> a->d PrimEqualV :: {a} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : a ~ 'VecScalar b c} -> {g : d ~ 'VecScalar b 'Bool} -> a -> a->d PrimNotEqualV :: {a} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : a ~ 'VecScalar b c} -> {g : d ~ 'VecScalar b 'Bool} -> a -> a->d PrimEqual :: {a} -> {b} -> {c : b ~ 'MatVecScalarElem a} -> a -> a->'Bool PrimNotEqual :: {a} -> {b} -> {c : b ~ 'MatVecScalarElem a} -> a -> a->'Bool PrimDFdx :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimDFdy :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimFWidth :: {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a PrimNoise1 :: {a:'Nat} -> 'VecScalar a 'Float -> 'Float PrimNoise2 :: {a:'Nat} -> 'VecScalar a 'Float -> 'Vec 2 'Float PrimNoise3 :: {a:'Nat} -> 'VecScalar a 'Float -> 'Vec 3 'Float PrimNoise4 :: {a:'Nat} -> 'VecScalar a 'Float -> 'Vec 4 'Float 'Texture :: Type Texture2DSlot :: 'String->'Texture Texture2D :: 'Vec 2 'Int -> 'Image 1 (Color ('Vec 4 'Float)) -> 'Texture 'TextureCase :: (b : 'Texture->Type) -> (c:'String -> b (Texture2DSlot c)) -> ((e : 'Vec 2 'Int) -> (f : 'Image 1 (Color ('Vec 4 'Float))) -> b (Texture2D e f)) -> h:'Texture -> b h match'Texture :: (b : Type->Type) -> b 'Texture -> d:Type -> b d -> b d 'Filter :: Type PointFilter :: 'Filter LinearFilter :: 'Filter 'FilterCase :: (b : 'Filter->Type) -> b PointFilter -> b LinearFilter -> e:'Filter -> b e match'Filter :: (b : Type->Type) -> b 'Filter -> d:Type -> b d -> b d 'EdgeMode :: Type Repeat :: 'EdgeMode MirroredRepeat :: 'EdgeMode ClampToEdge :: 'EdgeMode 'EdgeModeCase :: (b : 'EdgeMode->Type) -> b Repeat -> b MirroredRepeat -> b ClampToEdge -> f:'EdgeMode -> b f match'EdgeMode :: (b : Type->Type) -> b 'EdgeMode -> d:Type -> b d -> b d 'Sampler :: Type Sampler :: 'Filter -> 'EdgeMode -> 'Texture->'Sampler 'SamplerCase :: (b : 'Sampler->Type) -> (c:'Filter -> d:'EdgeMode -> e:'Texture -> b (Sampler c d e)) -> g:'Sampler -> b g match'Sampler :: (b : Type->Type) -> b 'Sampler -> d:Type -> b d -> b d texture2D :: 'Sampler -> 'Vec 2 'Float -> 'Vec 4 'Float accumulateWith :: {a} -> {b} -> a -> b -> 'Tuple2 a b overlay :: {a : 'List 'ImageSemantics} -> {b:'Nat} -> 'FrameBuffer b a -> 'Tuple2 ('FragOps a) ('List ('Fragment b (remSemantics' a))) -> 'FrameBuffer b a renderFrame :: {a:'Nat} -> {b : 'List 'ImageSemantics} -> 'FrameBuffer a b -> 'Output imageFrame :: {a : 'List 'ImageSemantics} -> {b} -> {c:'Nat} -> {d : 'ValidFrameBuffer a} -> {e : 'SameLayerCounts b} -> {f : 'FrameBuffer c a ~ 'TFFrameBuffer b} -> b -> 'FrameBuffer c a emptyDepthImage :: 'Float -> 'Image 1 (Depth 'Float) emptyColorImage :: {a:'Nat} -> {b} -> {c} -> {d : 'Num b} -> {e : c ~ 'VecScalar a b} -> c -> 'Image 1 (Color c) ------------ tooltips testdata/Builtins.lc 9:1-9:3 {a} -> a->a testdata/Builtins.lc 9:8-9:9 V1 testdata/Builtins.lc 13:7-13:21 Type->Type testdata/Builtins.lc 15:7-15:18 Type->Type testdata/Builtins.lc 18:6-18:10 Type | Type -> Nat->Type testdata/Builtins.lc 18:6-21:37 Type testdata/Builtins.lc 18:17-18:21 Type testdata/Builtins.lc 18:26-18:29 Type testdata/Builtins.lc 18:26-18:37 Type testdata/Builtins.lc 18:33-18:37 Type testdata/Builtins.lc 19:3-19:5 VecS V3 2 | {a} -> a -> a -> VecS a 2 testdata/Builtins.lc 19:3-19:27 Type testdata/Builtins.lc 19:9-19:10 Type testdata/Builtins.lc 19:9-19:27 Type testdata/Builtins.lc 19:14-19:15 Type testdata/Builtins.lc 19:14-19:27 Type testdata/Builtins.lc 19:19-19:23 Type -> Nat->Type testdata/Builtins.lc 19:19-19:25 Nat->Type testdata/Builtins.lc 19:19-19:27 Type testdata/Builtins.lc 19:24-19:25 Type testdata/Builtins.lc 19:26-19:27 V1 testdata/Builtins.lc 20:3-20:5 VecS V5 3 | {a} -> a -> a -> a -> VecS a 3 testdata/Builtins.lc 20:3-20:32 Type testdata/Builtins.lc 20:9-20:10 Type testdata/Builtins.lc 20:9-20:32 Type testdata/Builtins.lc 20:14-20:15 Type testdata/Builtins.lc 20:14-20:32 Type testdata/Builtins.lc 20:19-20:20 Type testdata/Builtins.lc 20:19-20:32 Type testdata/Builtins.lc 20:24-20:28 Type -> Nat->Type testdata/Builtins.lc 20:24-20:30 Nat->Type testdata/Builtins.lc 20:24-20:32 Type testdata/Builtins.lc 20:29-20:30 Type testdata/Builtins.lc 20:31-20:32 V1 testdata/Builtins.lc 21:3-21:5 VecS V7 4 | {a} -> a -> a -> a -> a -> VecS a 4 testdata/Builtins.lc 21:3-21:37 Type testdata/Builtins.lc 21:9-21:10 Type testdata/Builtins.lc 21:9-21:37 Type testdata/Builtins.lc 21:14-21:15 Type testdata/Builtins.lc 21:14-21:37 Type testdata/Builtins.lc 21:19-21:20 Type testdata/Builtins.lc 21:19-21:37 Type testdata/Builtins.lc 21:24-21:25 Type testdata/Builtins.lc 21:24-21:37 Type testdata/Builtins.lc 21:29-21:33 Type -> Nat->Type testdata/Builtins.lc 21:29-21:35 Nat->Type testdata/Builtins.lc 21:29-21:37 Type testdata/Builtins.lc 21:34-21:35 Type testdata/Builtins.lc 21:36-21:37 V1 testdata/Builtins.lc 23:23-23:26 Type testdata/Builtins.lc 23:37-23:40 Nat -> Type->Type testdata/Builtins.lc 23:47-23:51 Type -> Nat->Type testdata/Builtins.lc 23:47-23:53 Nat->Type testdata/Builtins.lc 23:47-23:55 Nat -> Type->Type | Type | Type->Type testdata/Builtins.lc 23:52-23:53 Type testdata/Builtins.lc 23:54-23:55 Nat testdata/Builtins.lc 25:29-25:32 Type testdata/Builtins.lc 26:5-26:14 Nat -> Type->Type testdata/Builtins.lc 26:21-26:22 Type testdata/Builtins.lc 26:21-27:60 Nat -> Type->Type | Nat->Type | Type->Type testdata/Builtins.lc 27:37-27:40 Nat -> Type->Type testdata/Builtins.lc 27:37-27:58 Type->Type testdata/Builtins.lc 27:37-27:60 Nat->Type | Type testdata/Builtins.lc 27:41-27:58 Nat testdata/Builtins.lc 27:42-27:47 Nat->Nat testdata/Builtins.lc 27:48-27:57 Nat testdata/Builtins.lc 27:49-27:54 Nat->Nat testdata/Builtins.lc 27:55-27:56 Nat testdata/Builtins.lc 27:59-27:60 Type testdata/Builtins.lc 30:25-30:28 Type testdata/Builtins.lc 31:5-31:10 Nat -> Type->Type testdata/Builtins.lc 31:17-31:20 Nat -> Type->Type testdata/Builtins.lc 31:17-31:22 Type->Type testdata/Builtins.lc 31:17-31:24 Nat -> Type->Type | Type | Type->Type testdata/Builtins.lc 31:21-31:22 Nat testdata/Builtins.lc 31:23-31:24 Type testdata/Builtins.lc 34:6-34:9 Nat -> Nat -> Type->Type | Type testdata/Builtins.lc 34:6-43:84 Type testdata/Builtins.lc 34:13-34:16 Type testdata/Builtins.lc 34:20-34:23 Type testdata/Builtins.lc 34:20-34:39 Type testdata/Builtins.lc 34:27-34:31 Type testdata/Builtins.lc 34:27-34:39 Type testdata/Builtins.lc 34:35-34:39 Type testdata/Builtins.lc 35:3-35:7 Mat 2 2 Float | Vec 2 Float -> Vec 2 Float -> Mat 2 2 Float testdata/Builtins.lc 35:3-35:54 Type testdata/Builtins.lc 35:11-35:14 Nat -> Type->Type testdata/Builtins.lc 35:11-35:16 Type->Type testdata/Builtins.lc 35:11-35:22 Type testdata/Builtins.lc 35:15-35:16 V1 testdata/Builtins.lc 35:17-35:22 Type testdata/Builtins.lc 35:26-35:29 Nat -> Type->Type testdata/Builtins.lc 35:26-35:31 Type->Type testdata/Builtins.lc 35:26-35:37 Type testdata/Builtins.lc 35:26-35:54 Type testdata/Builtins.lc 35:30-35:31 V1 testdata/Builtins.lc 35:32-35:37 Type testdata/Builtins.lc 35:41-35:44 Nat -> Nat -> Type->Type testdata/Builtins.lc 35:41-35:46 Nat -> Type->Type testdata/Builtins.lc 35:41-35:48 Type->Type testdata/Builtins.lc 35:41-35:54 Type testdata/Builtins.lc 35:45-35:46 V1 testdata/Builtins.lc 35:45-35:48 a:Type -> Mat 2 2 a -> Type testdata/Builtins.lc 35:45-35:54 Mat 2 2 Float -> Type testdata/Builtins.lc 35:47-35:48 V1 testdata/Builtins.lc 35:49-35:54 Type testdata/Builtins.lc 36:3-36:7 Mat 3 2 Float | Vec 3 Float -> Vec 3 Float -> Mat 3 2 Float testdata/Builtins.lc 36:3-36:54 Type testdata/Builtins.lc 36:11-36:14 Nat -> Type->Type testdata/Builtins.lc 36:11-36:16 Type->Type testdata/Builtins.lc 36:11-36:22 Type testdata/Builtins.lc 36:15-36:16 V1 testdata/Builtins.lc 36:17-36:22 Type testdata/Builtins.lc 36:26-36:29 Nat -> Type->Type testdata/Builtins.lc 36:26-36:31 Type->Type testdata/Builtins.lc 36:26-36:37 Type testdata/Builtins.lc 36:26-36:54 Type testdata/Builtins.lc 36:30-36:31 V1 testdata/Builtins.lc 36:32-36:37 Type testdata/Builtins.lc 36:41-36:44 Nat -> Nat -> Type->Type testdata/Builtins.lc 36:41-36:46 Nat -> Type->Type testdata/Builtins.lc 36:41-36:48 Type->Type testdata/Builtins.lc 36:41-36:54 Type testdata/Builtins.lc 36:45-36:46 V1 testdata/Builtins.lc 36:45-36:48 a:Type -> Mat 3 2 a -> Type testdata/Builtins.lc 36:45-36:54 Mat 3 2 Float -> Type testdata/Builtins.lc 36:47-36:48 V1 testdata/Builtins.lc 36:49-36:54 Type testdata/Builtins.lc 37:3-37:7 Mat 4 2 Float | Vec 4 Float -> Vec 4 Float -> Mat 4 2 Float testdata/Builtins.lc 37:3-37:54 Type testdata/Builtins.lc 37:11-37:14 Nat -> Type->Type testdata/Builtins.lc 37:11-37:16 Type->Type testdata/Builtins.lc 37:11-37:22 Type testdata/Builtins.lc 37:15-37:16 V1 testdata/Builtins.lc 37:17-37:22 Type testdata/Builtins.lc 37:26-37:29 Nat -> Type->Type testdata/Builtins.lc 37:26-37:31 Type->Type testdata/Builtins.lc 37:26-37:37 Type testdata/Builtins.lc 37:26-37:54 Type testdata/Builtins.lc 37:30-37:31 V1 testdata/Builtins.lc 37:32-37:37 Type testdata/Builtins.lc 37:41-37:44 Nat -> Nat -> Type->Type testdata/Builtins.lc 37:41-37:46 Nat -> Type->Type testdata/Builtins.lc 37:41-37:48 Type->Type testdata/Builtins.lc 37:41-37:54 Type testdata/Builtins.lc 37:45-37:46 V1 testdata/Builtins.lc 37:45-37:48 a:Type -> Mat 4 2 a -> Type testdata/Builtins.lc 37:45-37:54 Mat 4 2 Float -> Type testdata/Builtins.lc 37:47-37:48 V1 testdata/Builtins.lc 37:49-37:54 Type testdata/Builtins.lc 38:3-38:7 Mat 2 3 Float | Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Mat 2 3 Float testdata/Builtins.lc 38:3-38:69 Type testdata/Builtins.lc 38:11-38:14 Nat -> Type->Type testdata/Builtins.lc 38:11-38:16 Type->Type testdata/Builtins.lc 38:11-38:22 Type testdata/Builtins.lc 38:15-38:16 V1 testdata/Builtins.lc 38:17-38:22 Type testdata/Builtins.lc 38:26-38:29 Nat -> Type->Type testdata/Builtins.lc 38:26-38:31 Type->Type testdata/Builtins.lc 38:26-38:37 Type testdata/Builtins.lc 38:26-38:69 Type testdata/Builtins.lc 38:30-38:31 V1 testdata/Builtins.lc 38:32-38:37 Type testdata/Builtins.lc 38:41-38:44 Nat -> Type->Type testdata/Builtins.lc 38:41-38:46 Type->Type testdata/Builtins.lc 38:41-38:52 Type testdata/Builtins.lc 38:41-38:69 Type testdata/Builtins.lc 38:45-38:46 V1 testdata/Builtins.lc 38:47-38:52 Type testdata/Builtins.lc 38:56-38:59 Nat -> Nat -> Type->Type testdata/Builtins.lc 38:56-38:61 Nat -> Type->Type testdata/Builtins.lc 38:56-38:63 Type->Type testdata/Builtins.lc 38:56-38:69 Type testdata/Builtins.lc 38:60-38:61 V1 testdata/Builtins.lc 38:60-38:63 a:Type -> Mat 2 3 a -> Type testdata/Builtins.lc 38:60-38:69 Mat 2 3 Float -> Type testdata/Builtins.lc 38:62-38:63 V1 testdata/Builtins.lc 38:64-38:69 Type testdata/Builtins.lc 39:3-39:7 Mat 3 3 Float | Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 3 Float testdata/Builtins.lc 39:3-39:69 Type testdata/Builtins.lc 39:11-39:14 Nat -> Type->Type testdata/Builtins.lc 39:11-39:16 Type->Type testdata/Builtins.lc 39:11-39:22 Type testdata/Builtins.lc 39:15-39:16 V1 testdata/Builtins.lc 39:17-39:22 Type testdata/Builtins.lc 39:26-39:29 Nat -> Type->Type testdata/Builtins.lc 39:26-39:31 Type->Type testdata/Builtins.lc 39:26-39:37 Type testdata/Builtins.lc 39:26-39:69 Type testdata/Builtins.lc 39:30-39:31 V1 testdata/Builtins.lc 39:32-39:37 Type testdata/Builtins.lc 39:41-39:44 Nat -> Type->Type testdata/Builtins.lc 39:41-39:46 Type->Type testdata/Builtins.lc 39:41-39:52 Type testdata/Builtins.lc 39:41-39:69 Type testdata/Builtins.lc 39:45-39:46 V1 testdata/Builtins.lc 39:47-39:52 Type testdata/Builtins.lc 39:56-39:59 Nat -> Nat -> Type->Type testdata/Builtins.lc 39:56-39:61 Nat -> Type->Type testdata/Builtins.lc 39:56-39:63 Type->Type testdata/Builtins.lc 39:56-39:69 Type testdata/Builtins.lc 39:60-39:61 V1 testdata/Builtins.lc 39:60-39:63 a:Type -> Mat 3 3 a -> Type testdata/Builtins.lc 39:60-39:69 Mat 3 3 Float -> Type testdata/Builtins.lc 39:62-39:63 V1 testdata/Builtins.lc 39:64-39:69 Type testdata/Builtins.lc 40:3-40:7 Mat 4 3 Float | Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 3 Float testdata/Builtins.lc 40:3-40:69 Type testdata/Builtins.lc 40:11-40:14 Nat -> Type->Type testdata/Builtins.lc 40:11-40:16 Type->Type testdata/Builtins.lc 40:11-40:22 Type testdata/Builtins.lc 40:15-40:16 V1 testdata/Builtins.lc 40:17-40:22 Type testdata/Builtins.lc 40:26-40:29 Nat -> Type->Type testdata/Builtins.lc 40:26-40:31 Type->Type testdata/Builtins.lc 40:26-40:37 Type testdata/Builtins.lc 40:26-40:69 Type testdata/Builtins.lc 40:30-40:31 V1 testdata/Builtins.lc 40:32-40:37 Type testdata/Builtins.lc 40:41-40:44 Nat -> Type->Type testdata/Builtins.lc 40:41-40:46 Type->Type testdata/Builtins.lc 40:41-40:52 Type testdata/Builtins.lc 40:41-40:69 Type testdata/Builtins.lc 40:45-40:46 V1 testdata/Builtins.lc 40:47-40:52 Type testdata/Builtins.lc 40:56-40:59 Nat -> Nat -> Type->Type testdata/Builtins.lc 40:56-40:61 Nat -> Type->Type testdata/Builtins.lc 40:56-40:63 Type->Type testdata/Builtins.lc 40:56-40:69 Type testdata/Builtins.lc 40:60-40:61 V1 testdata/Builtins.lc 40:60-40:63 a:Type -> Mat 4 3 a -> Type testdata/Builtins.lc 40:60-40:69 Mat 4 3 Float -> Type testdata/Builtins.lc 40:62-40:63 V1 testdata/Builtins.lc 40:64-40:69 Type testdata/Builtins.lc 41:3-41:7 Mat 2 4 Float | Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Mat 2 4 Float testdata/Builtins.lc 41:3-41:84 Type testdata/Builtins.lc 41:11-41:14 Nat -> Type->Type testdata/Builtins.lc 41:11-41:16 Type->Type testdata/Builtins.lc 41:11-41:22 Type testdata/Builtins.lc 41:15-41:16 V1 testdata/Builtins.lc 41:17-41:22 Type testdata/Builtins.lc 41:26-41:29 Nat -> Type->Type testdata/Builtins.lc 41:26-41:31 Type->Type testdata/Builtins.lc 41:26-41:37 Type testdata/Builtins.lc 41:26-41:84 Type testdata/Builtins.lc 41:30-41:31 V1 testdata/Builtins.lc 41:32-41:37 Type testdata/Builtins.lc 41:41-41:44 Nat -> Type->Type testdata/Builtins.lc 41:41-41:46 Type->Type testdata/Builtins.lc 41:41-41:52 Type testdata/Builtins.lc 41:41-41:84 Type testdata/Builtins.lc 41:45-41:46 V1 testdata/Builtins.lc 41:47-41:52 Type testdata/Builtins.lc 41:56-41:59 Nat -> Type->Type testdata/Builtins.lc 41:56-41:61 Type->Type testdata/Builtins.lc 41:56-41:67 Type testdata/Builtins.lc 41:56-41:84 Type testdata/Builtins.lc 41:60-41:61 V1 testdata/Builtins.lc 41:62-41:67 Type testdata/Builtins.lc 41:71-41:74 Nat -> Nat -> Type->Type testdata/Builtins.lc 41:71-41:76 Nat -> Type->Type testdata/Builtins.lc 41:71-41:78 Type->Type testdata/Builtins.lc 41:71-41:84 Type testdata/Builtins.lc 41:75-41:76 V1 testdata/Builtins.lc 41:75-41:78 a:Type -> Mat 2 4 a -> Type testdata/Builtins.lc 41:75-41:84 Mat 2 4 Float -> Type testdata/Builtins.lc 41:77-41:78 V1 testdata/Builtins.lc 41:79-41:84 Type testdata/Builtins.lc 42:3-42:7 Mat 3 4 Float | Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 4 Float testdata/Builtins.lc 42:3-42:84 Type testdata/Builtins.lc 42:11-42:14 Nat -> Type->Type testdata/Builtins.lc 42:11-42:16 Type->Type testdata/Builtins.lc 42:11-42:22 Type testdata/Builtins.lc 42:15-42:16 V1 testdata/Builtins.lc 42:17-42:22 Type testdata/Builtins.lc 42:26-42:29 Nat -> Type->Type testdata/Builtins.lc 42:26-42:31 Type->Type testdata/Builtins.lc 42:26-42:37 Type testdata/Builtins.lc 42:26-42:84 Type testdata/Builtins.lc 42:30-42:31 V1 testdata/Builtins.lc 42:32-42:37 Type testdata/Builtins.lc 42:41-42:44 Nat -> Type->Type testdata/Builtins.lc 42:41-42:46 Type->Type testdata/Builtins.lc 42:41-42:52 Type testdata/Builtins.lc 42:41-42:84 Type testdata/Builtins.lc 42:45-42:46 V1 testdata/Builtins.lc 42:47-42:52 Type testdata/Builtins.lc 42:56-42:59 Nat -> Type->Type testdata/Builtins.lc 42:56-42:61 Type->Type testdata/Builtins.lc 42:56-42:67 Type testdata/Builtins.lc 42:56-42:84 Type testdata/Builtins.lc 42:60-42:61 V1 testdata/Builtins.lc 42:62-42:67 Type testdata/Builtins.lc 42:71-42:74 Nat -> Nat -> Type->Type testdata/Builtins.lc 42:71-42:76 Nat -> Type->Type testdata/Builtins.lc 42:71-42:78 Type->Type testdata/Builtins.lc 42:71-42:84 Type testdata/Builtins.lc 42:75-42:76 V1 testdata/Builtins.lc 42:75-42:78 a:Type -> Mat 3 4 a -> Type testdata/Builtins.lc 42:75-42:84 Mat 3 4 Float -> Type testdata/Builtins.lc 42:77-42:78 V1 testdata/Builtins.lc 42:79-42:84 Type testdata/Builtins.lc 43:3-43:7 Mat 4 4 Float | Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Builtins.lc 43:3-43:84 Type testdata/Builtins.lc 43:11-43:14 Nat -> Type->Type testdata/Builtins.lc 43:11-43:16 Type->Type testdata/Builtins.lc 43:11-43:22 Type testdata/Builtins.lc 43:15-43:16 V1 testdata/Builtins.lc 43:17-43:22 Type testdata/Builtins.lc 43:26-43:29 Nat -> Type->Type testdata/Builtins.lc 43:26-43:31 Type->Type testdata/Builtins.lc 43:26-43:37 Type testdata/Builtins.lc 43:26-43:84 Type testdata/Builtins.lc 43:30-43:31 V1 testdata/Builtins.lc 43:32-43:37 Type testdata/Builtins.lc 43:41-43:44 Nat -> Type->Type testdata/Builtins.lc 43:41-43:46 Type->Type testdata/Builtins.lc 43:41-43:52 Type testdata/Builtins.lc 43:41-43:84 Type testdata/Builtins.lc 43:45-43:46 V1 testdata/Builtins.lc 43:47-43:52 Type testdata/Builtins.lc 43:56-43:59 Nat -> Type->Type testdata/Builtins.lc 43:56-43:61 Type->Type testdata/Builtins.lc 43:56-43:67 Type testdata/Builtins.lc 43:56-43:84 Type testdata/Builtins.lc 43:60-43:61 V1 testdata/Builtins.lc 43:62-43:67 Type testdata/Builtins.lc 43:71-43:74 Nat -> Nat -> Type->Type testdata/Builtins.lc 43:71-43:76 Nat -> Type->Type testdata/Builtins.lc 43:71-43:78 Type->Type testdata/Builtins.lc 43:71-43:84 Type testdata/Builtins.lc 43:75-43:76 V1 testdata/Builtins.lc 43:75-43:78 a:Type -> Mat 4 4 a -> Type testdata/Builtins.lc 43:75-43:84 Mat 4 4 Float -> Type testdata/Builtins.lc 43:77-43:78 V1 testdata/Builtins.lc 43:79-43:84 Type testdata/Builtins.lc 46:5-46:21 Type->Type testdata/Builtins.lc 46:22-46:27 Type testdata/Builtins.lc 46:22-46:35 Type->Type testdata/Builtins.lc 46:22-50:37 Type | Type->Type testdata/Builtins.lc 46:30-46:35 Type testdata/Builtins.lc 47:22-47:26 Type testdata/Builtins.lc 47:22-47:33 Type->Type testdata/Builtins.lc 47:22-50:37 Type testdata/Builtins.lc 47:29-47:33 Type testdata/Builtins.lc 48:22-48:25 Type testdata/Builtins.lc 48:22-48:31 Type->Type testdata/Builtins.lc 48:22-50:37 Type testdata/Builtins.lc 48:28-48:31 Type testdata/Builtins.lc 49:28-49:31 Type testdata/Builtins.lc 49:28-49:36 Type->Type testdata/Builtins.lc 49:28-50:37 Type testdata/Builtins.lc 49:35-49:36 Nat->Type | Type | Type -> Nat->Type testdata/Builtins.lc 50:27-50:32 Type testdata/Builtins.lc 50:27-50:37 Type->Type testdata/Builtins.lc 50:36-50:37 Nat -> Nat -> Type->Type | Nat -> Type->Type | Type | Type->Type testdata/Builtins.lc 54:6-54:11 Type testdata/Builtins.lc 54:6-54:31 Type testdata/Builtins.lc 54:14-54:16 Swizz testdata/Builtins.lc 54:19-54:21 Swizz testdata/Builtins.lc 54:24-54:26 Swizz testdata/Builtins.lc 54:29-54:31 Swizz testdata/Builtins.lc 56:11-56:43 Type testdata/Builtins.lc 56:12-56:13 V5 testdata/Builtins.lc 56:17-56:18 Type | V4 testdata/Builtins.lc 56:23-56:27 Type -> Nat->Type testdata/Builtins.lc 56:23-56:29 Nat->Type testdata/Builtins.lc 56:23-56:31 Type testdata/Builtins.lc 56:23-56:43 Type testdata/Builtins.lc 56:28-56:29 Type testdata/Builtins.lc 56:30-56:31 V2 testdata/Builtins.lc 56:35-56:39 Type -> Nat->Type testdata/Builtins.lc 56:35-56:41 Nat->Type testdata/Builtins.lc 56:35-56:43 Type testdata/Builtins.lc 56:40-56:41 Type testdata/Builtins.lc 56:42-56:43 Nat testdata/Builtins.lc 57:1-57:7 {a} -> {b} -> {c:Nat} -> a->b -> VecS a c -> VecS b c testdata/Builtins.lc 57:14-57:17 VecS V5 V3 testdata/Builtins.lc 57:14-59:51 V2->V2 -> VecS V3 V1 -> VecS V3 V2 | VecS V3 V1 -> VecS V3 V2 | VecS V3 V2 testdata/Builtins.lc 57:21-57:23 {a} -> a -> a -> VecS a 2 testdata/Builtins.lc 57:21-57:29 V5 -> VecS V6 2 testdata/Builtins.lc 57:21-57:35 V0 -> V1 -> VecS V6 2 | V1 -> VecS V6 2 | VecS V5 2 testdata/Builtins.lc 57:21-58:43 (V4 -> V5 -> V6 -> V7 -> VecS V7 4) -> {f:Nat} -> VecS V6 f -> VecS V6 f testdata/Builtins.lc 57:21-59:51 {a:Nat} -> VecS V5 a -> VecS V5 a testdata/Builtins.lc 57:24-57:29 V5 testdata/Builtins.lc 57:25-57:26 V8->V8 testdata/Builtins.lc 57:27-57:28 V2 testdata/Builtins.lc 57:30-57:35 V5 testdata/Builtins.lc 57:31-57:32 V6->V6 testdata/Builtins.lc 57:33-57:34 V6 testdata/Builtins.lc 58:23-58:25 {a} -> a -> a -> a -> VecS a 3 testdata/Builtins.lc 58:23-58:31 V6 -> V7 -> VecS V8 3 testdata/Builtins.lc 58:23-58:37 V6 -> VecS V7 3 testdata/Builtins.lc 58:23-58:43 V4 -> V5 -> V6 -> VecS V6 3 | V5 -> V6 -> VecS V6 3 | V6 -> VecS V6 3 | VecS V6 3 testdata/Builtins.lc 58:26-58:31 V6 testdata/Builtins.lc 58:27-58:28 V8->V8 testdata/Builtins.lc 58:29-58:30 V7 testdata/Builtins.lc 58:32-58:37 V6 testdata/Builtins.lc 58:33-58:34 V7->V7 testdata/Builtins.lc 58:35-58:36 V7 testdata/Builtins.lc 58:38-58:43 V6 testdata/Builtins.lc 58:39-58:40 V7->V7 testdata/Builtins.lc 58:41-58:42 V7 testdata/Builtins.lc 59:25-59:27 {a} -> a -> a -> a -> a -> VecS a 4 testdata/Builtins.lc 59:25-59:33 V7 -> V8 -> V9 -> VecS V10 4 testdata/Builtins.lc 59:25-59:39 V7 -> V8 -> VecS V9 4 testdata/Builtins.lc 59:25-59:45 V7 -> VecS V8 4 testdata/Builtins.lc 59:25-59:51 V4 -> V5 -> V6 -> V7 -> VecS V7 4 | V5 -> V6 -> V7 -> VecS V7 4 | V6 -> V7 -> VecS V7 4 | V7 -> VecS V7 4 | VecS V7 4 testdata/Builtins.lc 59:28-59:33 V7 testdata/Builtins.lc 59:29-59:30 V9->V9 testdata/Builtins.lc 59:31-59:32 V8 testdata/Builtins.lc 59:34-59:39 V7 testdata/Builtins.lc 59:35-59:36 V8->V8 testdata/Builtins.lc 59:37-59:38 V8 testdata/Builtins.lc 59:40-59:45 V7 testdata/Builtins.lc 59:41-59:42 V8->V8 testdata/Builtins.lc 59:43-59:44 V8 testdata/Builtins.lc 59:46-59:51 V7 testdata/Builtins.lc 59:47-59:48 V8->V8 testdata/Builtins.lc 59:49-59:50 V8 testdata/Builtins.lc 62:16-62:48 Type testdata/Builtins.lc 62:27-62:30 Nat -> Type->Type testdata/Builtins.lc 62:27-62:32 Type->Type testdata/Builtins.lc 62:27-62:34 Type testdata/Builtins.lc 62:27-62:48 Type testdata/Builtins.lc 62:31-62:32 V1 testdata/Builtins.lc 62:33-62:34 V2 testdata/Builtins.lc 62:38-62:43 Type testdata/Builtins.lc 62:38-62:48 Type testdata/Builtins.lc 62:47-62:48 Type testdata/Builtins.lc 63:1-63:12 {a} -> {b:Nat} -> Vec b a -> Swizz->a testdata/Builtins.lc 63:17-63:20 Vec V4 V5 testdata/Builtins.lc 63:17-71:32 Swizz->V3 | V3 | Vec V0 V1 -> Swizz->V3 testdata/Builtins.lc 63:22-63:24 Swizz testdata/Builtins.lc 63:22-64:28 V1 -> V2->V2 | V2 | V2->V2 testdata/Builtins.lc 63:22-67:30 (V0 -> V1 -> V2 -> V3->V4) -> {f:Nat} -> VecS V2 f -> V3 testdata/Builtins.lc 63:22-71:32 {a:Nat} -> VecS V1 a -> V2 testdata/Builtins.lc 63:27-63:28 V4 testdata/Builtins.lc 63:27-64:28 V3 -> V4 -> Swizz->V6 testdata/Builtins.lc 64:27-64:28 V3 testdata/Builtins.lc 65:24-65:26 Swizz testdata/Builtins.lc 65:24-67:30 V0 -> V1 -> V2->V3 | V1 -> V2->V3 | V2->V3 | V3 testdata/Builtins.lc 65:29-65:30 V4 testdata/Builtins.lc 65:29-66:30 V3 -> V4 -> Swizz->V6 testdata/Builtins.lc 65:29-67:30 V3 -> Swizz->V5 testdata/Builtins.lc 66:29-66:30 V3 testdata/Builtins.lc 67:29-67:30 V3 testdata/Builtins.lc 68:26-68:28 Swizz testdata/Builtins.lc 68:26-71:32 V0 -> V1 -> V2 -> V3->V4 | V1 -> V2 -> V3->V4 | V2 -> V3->V4 | V3->V4 | V4 testdata/Builtins.lc 68:31-68:32 V5 testdata/Builtins.lc 68:31-69:32 V4 -> V5 -> Swizz->V7 testdata/Builtins.lc 68:31-70:32 V4 -> Swizz->V6 testdata/Builtins.lc 68:31-71:32 Swizz->V5 testdata/Builtins.lc 69:31-69:32 V4 testdata/Builtins.lc 70:31-70:32 V4 testdata/Builtins.lc 71:31-71:32 V4 testdata/Builtins.lc 74:28-74:31 Nat -> Type->Type testdata/Builtins.lc 74:28-74:33 Type->Type testdata/Builtins.lc 74:28-74:35 Type testdata/Builtins.lc 74:28-74:43 Type testdata/Builtins.lc 74:32-74:33 V1 testdata/Builtins.lc 74:34-74:35 V2 testdata/Builtins.lc 74:39-74:43 Type testdata/Builtins.lc 75:1-75:11 {a} -> {b:Nat} -> Vec b a -> Bool testdata/Builtins.lc 75:16-75:19 Vec V3 V4 testdata/Builtins.lc 75:16-77:31 Bool | Vec V0 V1 -> Bool testdata/Builtins.lc 75:23-75:27 Bool | V1 -> V2->V2 | V2->V2 testdata/Builtins.lc 75:23-76:29 (V0 -> V1 -> V2 -> V3->Bool) -> {f:Nat} -> VecS V2 f -> Bool testdata/Builtins.lc 75:23-77:31 {a:Nat} -> VecS V1 a -> Bool testdata/Builtins.lc 76:25-76:29 Bool | V0 -> V1 -> V2->Bool | V1 -> V2->Bool | V2->Bool testdata/Builtins.lc 77:27-77:31 Bool | V0 -> V1 -> V2 -> V3->Bool | V1 -> V2 -> V3->Bool | V2 -> V3->Bool | V3->Bool testdata/Builtins.lc 79:16-79:71 Type testdata/Builtins.lc 79:27-79:71 Type testdata/Builtins.lc 79:38-79:41 Nat -> Type->Type testdata/Builtins.lc 79:38-79:43 Type->Type testdata/Builtins.lc 79:38-79:45 Type testdata/Builtins.lc 79:38-79:71 Type testdata/Builtins.lc 79:42-79:43 V3 testdata/Builtins.lc 79:44-79:45 V4 testdata/Builtins.lc 79:49-79:52 Nat -> Type->Type testdata/Builtins.lc 79:49-79:54 Type->Type testdata/Builtins.lc 79:49-79:60 Type testdata/Builtins.lc 79:49-79:71 Type testdata/Builtins.lc 79:53-79:54 V2 testdata/Builtins.lc 79:55-79:60 Type testdata/Builtins.lc 79:64-79:67 Nat -> Type->Type testdata/Builtins.lc 79:64-79:69 Type->Type testdata/Builtins.lc 79:64-79:71 Type testdata/Builtins.lc 79:68-79:69 Nat testdata/Builtins.lc 79:70-79:71 Type testdata/Builtins.lc 80:1-80:12 {a} -> {b:Nat} -> {c:Nat} -> Vec b a -> Vec c Swizz -> VecS a c testdata/Builtins.lc 80:19-80:29 {a} -> {b:Nat} -> Vec b a -> Bool testdata/Builtins.lc 80:19-80:31 Bool testdata/Builtins.lc 80:19-80:58 Vec V1 Swizz -> Vec V2 V4 | Vec V1 V2 -> Vec V1 Swizz -> Vec V2 V4 | VecS V4 V2 testdata/Builtins.lc 80:30-80:31 Vec V5 V6 testdata/Builtins.lc 80:34-80:40 {a} -> {b} -> {c:Nat} -> a->b -> VecS a c -> VecS b c testdata/Builtins.lc 80:34-80:56 VecS Swizz V0 -> VecS V7 V1 testdata/Builtins.lc 80:34-80:58 VecS V4 V2 testdata/Builtins.lc 80:41-80:56 Swizz->V9 testdata/Builtins.lc 80:42-80:53 {a} -> {b:Nat} -> Vec b a -> Swizz->a testdata/Builtins.lc 80:54-80:55 Vec V9 V10 testdata/Builtins.lc 80:57-80:58 Vec V3 Swizz testdata/Builtins.lc 85:7-85:13 Type->Type testdata/Builtins.lc 87:25-87:28 Type testdata/Builtins.lc 87:25-88:30 Type | Type->Type testdata/Builtins.lc 88:25-88:30 Type testdata/Builtins.lc 90:7-90:16 Type->Type testdata/Builtins.lc 90:7-91:16 Type testdata/Builtins.lc 90:7-92:15 Type testdata/Builtins.lc 91:3-91:11 {a} -> {b : Component a}->a testdata/Builtins.lc 91:15-91:16 Type testdata/Builtins.lc 92:3-92:10 {a} -> {b : Component a}->a testdata/Builtins.lc 92:14-92:15 Type testdata/Builtins.lc 94:20-94:23 Type testdata/Builtins.lc 94:20-95:22 V1->V2 testdata/Builtins.lc 94:20-96:21 V1->V2 testdata/Builtins.lc 94:20-112:24 Type | Type->Type testdata/Builtins.lc 94:20-122:40 V1 | {a : Component V0}->V1 | {a} -> {b : Component a}->a testdata/Builtins.lc 94:20-123:35 V1 | {a : Component V0}->V1 | {a} -> {b : Component a}->a testdata/Builtins.lc 95:14-95:15 V1 testdata/Builtins.lc 95:14-95:22 Int testdata/Builtins.lc 95:19-95:22 Type testdata/Builtins.lc 96:13-96:14 V1 testdata/Builtins.lc 96:13-96:21 Int testdata/Builtins.lc 96:18-96:21 Type testdata/Builtins.lc 97:20-97:24 Type testdata/Builtins.lc 97:20-98:23 V1->V2 testdata/Builtins.lc 97:20-99:22 V1->V2 testdata/Builtins.lc 97:20-112:24 Type testdata/Builtins.lc 97:20-122:40 V1 testdata/Builtins.lc 97:20-123:35 V1 testdata/Builtins.lc 98:14-98:15 V1 testdata/Builtins.lc 98:14-98:23 Word testdata/Builtins.lc 98:19-98:23 Type testdata/Builtins.lc 99:13-99:14 V1 testdata/Builtins.lc 99:13-99:22 Word testdata/Builtins.lc 99:18-99:22 Type testdata/Builtins.lc 100:20-100:25 Type testdata/Builtins.lc 100:20-101:17 V1->V2 testdata/Builtins.lc 100:20-102:16 V1->V2 testdata/Builtins.lc 100:20-112:24 Type testdata/Builtins.lc 100:20-122:40 V1 testdata/Builtins.lc 100:20-123:35 V1 testdata/Builtins.lc 101:14-101:17 Float testdata/Builtins.lc 102:13-102:16 Float testdata/Builtins.lc 103:26-103:31 Type testdata/Builtins.lc 103:26-112:24 Type testdata/Builtins.lc 103:26-122:40 V1->V2 testdata/Builtins.lc 103:26-123:35 V1->V2 testdata/Builtins.lc 104:14-104:16 {a} -> a -> a -> VecS a 2 testdata/Builtins.lc 104:14-104:20 Float -> VecS Float 2 testdata/Builtins.lc 104:14-104:24 VecS Float 2 testdata/Builtins.lc 104:14-110:32 a:Nat -> VecS Float ('Succ ('Succ a)) | a:Nat -> VecS Float ('Succ a) testdata/Builtins.lc 104:14-122:40 VecS V1 V0 | a:Nat -> VecS V1 a | a:Type -> b:Nat -> VecS a b testdata/Builtins.lc 104:17-104:20 Float testdata/Builtins.lc 104:21-104:24 Float testdata/Builtins.lc 105:13-105:15 {a} -> a -> a -> VecS a 2 testdata/Builtins.lc 105:13-105:19 Float -> VecS Float 2 testdata/Builtins.lc 105:13-105:23 VecS Float 2 testdata/Builtins.lc 105:13-111:31 a:Nat -> VecS Float ('Succ ('Succ a)) | a:Nat -> VecS Float ('Succ a) testdata/Builtins.lc 105:13-123:35 VecS V1 V0 | a:Nat -> VecS V1 a | a:Type -> b:Nat -> VecS a b testdata/Builtins.lc 105:16-105:19 Float testdata/Builtins.lc 105:20-105:23 Float testdata/Builtins.lc 107:14-107:16 {a} -> a -> a -> a -> VecS a 3 testdata/Builtins.lc 107:14-107:20 Float -> Float -> VecS Float 3 testdata/Builtins.lc 107:14-107:24 Float -> VecS Float 3 testdata/Builtins.lc 107:14-107:28 VecS Float 3 testdata/Builtins.lc 107:14-110:32 a:Nat -> VecS Float ('Succ ('Succ ('Succ a))) testdata/Builtins.lc 107:17-107:20 Float testdata/Builtins.lc 107:21-107:24 Float testdata/Builtins.lc 107:25-107:28 Float testdata/Builtins.lc 108:13-108:15 {a} -> a -> a -> a -> VecS a 3 testdata/Builtins.lc 108:13-108:19 Float -> Float -> VecS Float 3 testdata/Builtins.lc 108:13-108:23 Float -> VecS Float 3 testdata/Builtins.lc 108:13-108:27 VecS Float 3 testdata/Builtins.lc 108:13-111:31 a:Nat -> VecS Float ('Succ ('Succ ('Succ a))) testdata/Builtins.lc 108:16-108:19 Float testdata/Builtins.lc 108:20-108:23 Float testdata/Builtins.lc 108:24-108:27 Float testdata/Builtins.lc 110:14-110:16 {a} -> a -> a -> a -> a -> VecS a 4 testdata/Builtins.lc 110:14-110:20 Float -> Float -> Float -> VecS Float 4 testdata/Builtins.lc 110:14-110:24 Float -> Float -> VecS Float 4 testdata/Builtins.lc 110:14-110:28 Float -> VecS Float 4 testdata/Builtins.lc 110:14-110:32 VecS Float 4 | a:Nat -> VecS Float ('Succ ('Succ ('Succ ('Succ a)))) testdata/Builtins.lc 110:17-110:20 Float testdata/Builtins.lc 110:21-110:24 Float testdata/Builtins.lc 110:25-110:28 Float testdata/Builtins.lc 110:29-110:32 Float testdata/Builtins.lc 111:13-111:15 {a} -> a -> a -> a -> a -> VecS a 4 testdata/Builtins.lc 111:13-111:19 Float -> Float -> Float -> VecS Float 4 testdata/Builtins.lc 111:13-111:23 Float -> Float -> VecS Float 4 testdata/Builtins.lc 111:13-111:27 Float -> VecS Float 4 testdata/Builtins.lc 111:13-111:31 VecS Float 4 | a:Nat -> VecS Float ('Succ ('Succ ('Succ ('Succ a)))) testdata/Builtins.lc 111:16-111:19 Float testdata/Builtins.lc 111:20-111:23 Float testdata/Builtins.lc 111:24-111:27 Float testdata/Builtins.lc 111:28-111:31 Float testdata/Builtins.lc 112:20-112:24 Type testdata/Builtins.lc 112:20-113:19 V1->V2 testdata/Builtins.lc 112:20-114:17 V1->V2 testdata/Builtins.lc 113:14-113:19 Bool testdata/Builtins.lc 114:13-114:17 Bool testdata/Builtins.lc 116:14-116:16 {a} -> a -> a -> VecS a 2 testdata/Builtins.lc 116:14-116:22 Bool -> VecS Bool 2 testdata/Builtins.lc 116:14-116:28 VecS Bool 2 testdata/Builtins.lc 116:14-122:40 a:Nat -> VecS Bool ('Succ ('Succ a)) | a:Nat -> VecS Bool ('Succ a) testdata/Builtins.lc 116:17-116:22 Bool testdata/Builtins.lc 116:23-116:28 Bool testdata/Builtins.lc 117:13-117:15 {a} -> a -> a -> VecS a 2 testdata/Builtins.lc 117:13-117:20 Bool -> VecS Bool 2 testdata/Builtins.lc 117:13-117:25 VecS Bool 2 testdata/Builtins.lc 117:13-123:35 a:Nat -> VecS Bool ('Succ ('Succ a)) | a:Nat -> VecS Bool ('Succ a) testdata/Builtins.lc 117:16-117:20 Bool testdata/Builtins.lc 117:21-117:25 Bool testdata/Builtins.lc 119:14-119:16 {a} -> a -> a -> a -> VecS a 3 testdata/Builtins.lc 119:14-119:22 Bool -> Bool -> VecS Bool 3 testdata/Builtins.lc 119:14-119:28 Bool -> VecS Bool 3 testdata/Builtins.lc 119:14-119:34 VecS Bool 3 testdata/Builtins.lc 119:14-122:40 a:Nat -> VecS Bool ('Succ ('Succ ('Succ a))) testdata/Builtins.lc 119:17-119:22 Bool testdata/Builtins.lc 119:23-119:28 Bool testdata/Builtins.lc 119:29-119:34 Bool testdata/Builtins.lc 120:13-120:15 {a} -> a -> a -> a -> VecS a 3 testdata/Builtins.lc 120:13-120:20 Bool -> Bool -> VecS Bool 3 testdata/Builtins.lc 120:13-120:25 Bool -> VecS Bool 3 testdata/Builtins.lc 120:13-120:30 VecS Bool 3 testdata/Builtins.lc 120:13-123:35 a:Nat -> VecS Bool ('Succ ('Succ ('Succ a))) testdata/Builtins.lc 120:16-120:20 Bool testdata/Builtins.lc 120:21-120:25 Bool testdata/Builtins.lc 120:26-120:30 Bool testdata/Builtins.lc 122:14-122:16 {a} -> a -> a -> a -> a -> VecS a 4 testdata/Builtins.lc 122:14-122:22 Bool -> Bool -> Bool -> VecS Bool 4 testdata/Builtins.lc 122:14-122:28 Bool -> Bool -> VecS Bool 4 testdata/Builtins.lc 122:14-122:34 Bool -> VecS Bool 4 testdata/Builtins.lc 122:14-122:40 VecS Bool 4 | a:Nat -> VecS Bool ('Succ ('Succ ('Succ ('Succ a)))) testdata/Builtins.lc 122:17-122:22 Bool testdata/Builtins.lc 122:23-122:28 Bool testdata/Builtins.lc 122:29-122:34 Bool testdata/Builtins.lc 122:35-122:40 Bool testdata/Builtins.lc 123:13-123:15 {a} -> a -> a -> a -> a -> VecS a 4 testdata/Builtins.lc 123:13-123:20 Bool -> Bool -> Bool -> VecS Bool 4 testdata/Builtins.lc 123:13-123:25 Bool -> Bool -> VecS Bool 4 testdata/Builtins.lc 123:13-123:30 Bool -> VecS Bool 4 testdata/Builtins.lc 123:13-123:35 VecS Bool 4 | a:Nat -> VecS Bool ('Succ ('Succ ('Succ ('Succ a)))) testdata/Builtins.lc 123:16-123:20 Bool testdata/Builtins.lc 123:21-123:25 Bool testdata/Builtins.lc 123:26-123:30 Bool testdata/Builtins.lc 123:31-123:35 Bool testdata/Builtins.lc 125:7-125:15 Type->Type testdata/Builtins.lc 127:25-127:28 Type testdata/Builtins.lc 127:25-128:29 Type | Type->Type testdata/Builtins.lc 128:25-128:29 Type testdata/Builtins.lc 130:7-130:15 Type->Type testdata/Builtins.lc 132:25-132:30 Type testdata/Builtins.lc 132:25-136:39 Type | Type->Type testdata/Builtins.lc 133:31-133:36 Type testdata/Builtins.lc 133:31-136:39 Type testdata/Builtins.lc 136:34-136:39 Type testdata/Builtins.lc 146:6-146:20 Type testdata/Builtins.lc 146:6-161:23 Type testdata/Builtins.lc 147:7-147:12 BlendingFactor testdata/Builtins.lc 148:7-148:10 BlendingFactor testdata/Builtins.lc 149:7-149:15 BlendingFactor testdata/Builtins.lc 150:7-150:23 BlendingFactor testdata/Builtins.lc 151:7-151:15 BlendingFactor testdata/Builtins.lc 152:7-152:23 BlendingFactor testdata/Builtins.lc 153:7-153:15 BlendingFactor testdata/Builtins.lc 154:7-154:23 BlendingFactor testdata/Builtins.lc 155:7-155:15 BlendingFactor testdata/Builtins.lc 156:7-156:23 BlendingFactor testdata/Builtins.lc 157:7-157:20 BlendingFactor testdata/Builtins.lc 158:7-158:28 BlendingFactor testdata/Builtins.lc 159:7-159:20 BlendingFactor testdata/Builtins.lc 160:7-160:28 BlendingFactor testdata/Builtins.lc 161:7-161:23 BlendingFactor testdata/Builtins.lc 163:6-163:19 Type testdata/Builtins.lc 163:6-168:10 Type testdata/Builtins.lc 164:7-164:14 BlendEquation testdata/Builtins.lc 165:7-165:19 BlendEquation testdata/Builtins.lc 166:7-166:26 BlendEquation testdata/Builtins.lc 167:7-167:10 BlendEquation testdata/Builtins.lc 168:7-168:10 BlendEquation testdata/Builtins.lc 170:6-170:20 Type testdata/Builtins.lc 170:6-186:10 Type testdata/Builtins.lc 171:7-171:12 LogicOperation testdata/Builtins.lc 172:7-172:10 LogicOperation testdata/Builtins.lc 173:7-173:17 LogicOperation testdata/Builtins.lc 174:7-174:11 LogicOperation testdata/Builtins.lc 175:7-175:18 LogicOperation testdata/Builtins.lc 176:7-176:11 LogicOperation testdata/Builtins.lc 177:7-177:10 LogicOperation testdata/Builtins.lc 178:7-178:9 LogicOperation testdata/Builtins.lc 179:7-179:10 LogicOperation testdata/Builtins.lc 180:7-180:12 LogicOperation testdata/Builtins.lc 181:7-181:13 LogicOperation testdata/Builtins.lc 182:7-182:16 LogicOperation testdata/Builtins.lc 183:7-183:19 LogicOperation testdata/Builtins.lc 184:7-184:17 LogicOperation testdata/Builtins.lc 185:7-185:11 LogicOperation testdata/Builtins.lc 186:7-186:10 LogicOperation testdata/Builtins.lc 188:6-188:22 Type testdata/Builtins.lc 188:6-196:15 Type testdata/Builtins.lc 189:7-189:13 StencilOperation testdata/Builtins.lc 190:7-190:13 StencilOperation testdata/Builtins.lc 191:7-191:16 StencilOperation testdata/Builtins.lc 192:7-192:13 StencilOperation testdata/Builtins.lc 193:7-193:17 StencilOperation testdata/Builtins.lc 194:7-194:13 StencilOperation testdata/Builtins.lc 195:7-195:17 StencilOperation testdata/Builtins.lc 196:7-196:15 StencilOperation testdata/Builtins.lc 198:6-198:24 Type testdata/Builtins.lc 198:6-206:13 Type testdata/Builtins.lc 199:7-199:12 ComparisonFunction testdata/Builtins.lc 200:7-200:11 ComparisonFunction testdata/Builtins.lc 201:7-201:12 ComparisonFunction testdata/Builtins.lc 202:7-202:13 ComparisonFunction testdata/Builtins.lc 203:7-203:14 ComparisonFunction testdata/Builtins.lc 204:7-204:15 ComparisonFunction testdata/Builtins.lc 205:7-205:13 ComparisonFunction testdata/Builtins.lc 206:7-206:13 ComparisonFunction testdata/Builtins.lc 208:6-208:21 Type testdata/Builtins.lc 208:6-210:18 Type testdata/Builtins.lc 209:7-209:17 ProvokingVertex testdata/Builtins.lc 210:7-210:18 ProvokingVertex testdata/Builtins.lc 212:6-212:14 Type testdata/Builtins.lc 212:6-215:15 Type testdata/Builtins.lc 213:7-213:16 CullMode testdata/Builtins.lc 214:7-214:15 CullMode testdata/Builtins.lc 215:7-215:15 CullMode testdata/Builtins.lc 217:6-217:15 Type | Type->Type testdata/Builtins.lc 217:6-218:22 Type testdata/Builtins.lc 217:6-219:23 Type testdata/Builtins.lc 217:6-219:36 Type testdata/Builtins.lc 218:7-218:16 PointSize V2 | Type | {a} -> Float -> PointSize a testdata/Builtins.lc 218:17-218:22 Type testdata/Builtins.lc 219:7-219:23 PointSize V3 | Type | {a} -> a->Float -> PointSize a testdata/Builtins.lc 219:25-219:26 Type testdata/Builtins.lc 219:30-219:35 Type testdata/Builtins.lc 221:6-221:17 Type | Type->Type testdata/Builtins.lc 221:6-223:33 Type testdata/Builtins.lc 221:6-224:18 Type testdata/Builtins.lc 221:6-224:24 Type testdata/Builtins.lc 222:7-222:18 PolygonMode V1 | {a} -> PolygonMode a testdata/Builtins.lc 223:7-223:19 PolygonMode V3 | Type | {a} -> PointSize a -> PolygonMode a testdata/Builtins.lc 223:20-223:33 Type testdata/Builtins.lc 223:21-223:30 Type->Type testdata/Builtins.lc 223:31-223:32 Type testdata/Builtins.lc 224:7-224:18 PolygonMode V4 | Type | {a} -> Float -> PolygonMode a testdata/Builtins.lc 224:19-224:24 Type testdata/Builtins.lc 226:6-226:19 Type testdata/Builtins.lc 226:6-228:13 Type testdata/Builtins.lc 226:6-228:25 Type testdata/Builtins.lc 227:7-227:15 PolygonOffset testdata/Builtins.lc 228:7-228:13 Float -> Float->PolygonOffset | PolygonOffset | Type testdata/Builtins.lc 228:14-228:19 Type testdata/Builtins.lc 228:20-228:25 Type testdata/Builtins.lc 230:6-230:28 Type testdata/Builtins.lc 230:6-232:16 Type testdata/Builtins.lc 231:7-231:16 PointSpriteCoordOrigin testdata/Builtins.lc 232:7-232:16 PointSpriteCoordOrigin testdata/Builtins.lc 234:6-234:20 Type testdata/Builtins.lc 234:6-234:56 Type testdata/Builtins.lc 234:23-234:28 ImageSemantics | Type | Type->ImageSemantics testdata/Builtins.lc 234:29-234:33 Type testdata/Builtins.lc 234:36-234:43 ImageSemantics | Type | Type->ImageSemantics testdata/Builtins.lc 234:44-234:48 Type testdata/Builtins.lc 234:51-234:56 ImageSemantics | Type | Type->ImageSemantics testdata/Builtins.lc 234:57-234:61 Type testdata/Builtins.lc 236:6-236:19 Type testdata/Builtins.lc 236:6-241:20 Type testdata/Builtins.lc 237:7-237:15 PrimitiveType testdata/Builtins.lc 238:7-238:11 PrimitiveType testdata/Builtins.lc 239:7-239:12 PrimitiveType testdata/Builtins.lc 240:7-240:24 PrimitiveType testdata/Builtins.lc 241:7-241:20 PrimitiveType testdata/Builtins.lc 244:1-244:12 Tuple0 -> Vec 2 Float -> Vec 4 Float testdata/Builtins.lc 244:16-244:18 Type testdata/Builtins.lc 244:22-244:25 Nat -> Type->Type testdata/Builtins.lc 244:22-244:27 Type->Type testdata/Builtins.lc 244:22-244:33 Type testdata/Builtins.lc 244:22-244:48 Type testdata/Builtins.lc 244:26-244:27 V1 testdata/Builtins.lc 244:28-244:33 Type testdata/Builtins.lc 244:37-244:40 Nat -> Type->Type testdata/Builtins.lc 244:37-244:42 Type->Type testdata/Builtins.lc 244:37-244:48 Type testdata/Builtins.lc 244:41-244:42 V1 testdata/Builtins.lc 244:43-244:48 Type testdata/Builtins.lc 247:1-247:8 {a} -> String->a testdata/Builtins.lc 247:14-247:20 Type testdata/Builtins.lc 247:14-247:25 Type testdata/Builtins.lc 247:24-247:25 Type | V2 testdata/Builtins.lc 248:1-248:10 {a} -> String->a testdata/Builtins.lc 248:14-248:20 Type testdata/Builtins.lc 248:14-248:25 Type testdata/Builtins.lc 248:24-248:25 Type | V2 testdata/Builtins.lc 250:6-250:19 Type | Type -> PrimitiveType->Type testdata/Builtins.lc 250:6-253:111 Type testdata/Builtins.lc 250:25-250:38 Type testdata/Builtins.lc 250:25-250:46 Type testdata/Builtins.lc 250:42-250:46 Type testdata/Builtins.lc 251:3-251:14 RasterContext V5 'Triangle | {a} -> CullMode -> PolygonMode a -> PolygonOffset -> ProvokingVertex -> RasterContext a 'Triangle testdata/Builtins.lc 251:3-251:115 Type testdata/Builtins.lc 251:26-251:34 Type testdata/Builtins.lc 251:26-251:115 Type testdata/Builtins.lc 251:38-251:49 Type->Type testdata/Builtins.lc 251:38-251:51 Type testdata/Builtins.lc 251:38-251:115 Type testdata/Builtins.lc 251:50-251:51 Type testdata/Builtins.lc 251:55-251:68 Type testdata/Builtins.lc 251:55-251:115 Type testdata/Builtins.lc 251:72-251:87 Type testdata/Builtins.lc 251:72-251:115 Type testdata/Builtins.lc 251:91-251:104 Type -> PrimitiveType->Type testdata/Builtins.lc 251:91-251:106 PrimitiveType->Type testdata/Builtins.lc 251:91-251:115 Type testdata/Builtins.lc 251:105-251:106 Type testdata/Builtins.lc 251:107-251:115 PrimitiveType testdata/Builtins.lc 252:3-252:11 RasterContext V5 'Point | {a} -> PointSize a -> Float -> PointSpriteCoordOrigin -> RasterContext a 'Point testdata/Builtins.lc 252:3-252:112 Type testdata/Builtins.lc 252:26-252:35 Type->Type testdata/Builtins.lc 252:26-252:37 Type testdata/Builtins.lc 252:26-252:112 Type testdata/Builtins.lc 252:36-252:37 Type testdata/Builtins.lc 252:41-252:46 Type testdata/Builtins.lc 252:41-252:112 Type testdata/Builtins.lc 252:50-252:72 Type testdata/Builtins.lc 252:50-252:112 Type testdata/Builtins.lc 252:91-252:104 Type -> PrimitiveType->Type testdata/Builtins.lc 252:91-252:106 PrimitiveType->Type testdata/Builtins.lc 252:91-252:112 Type testdata/Builtins.lc 252:105-252:106 Type testdata/Builtins.lc 252:107-252:112 PrimitiveType testdata/Builtins.lc 253:3-253:10 RasterContext V5 'Line | {a} -> Float -> ProvokingVertex -> RasterContext a 'Line testdata/Builtins.lc 253:3-253:111 Type testdata/Builtins.lc 253:26-253:31 Type testdata/Builtins.lc 253:26-253:111 Type testdata/Builtins.lc 253:35-253:50 Type testdata/Builtins.lc 253:35-253:111 Type testdata/Builtins.lc 253:91-253:104 Type -> PrimitiveType->Type testdata/Builtins.lc 253:91-253:106 PrimitiveType->Type testdata/Builtins.lc 253:91-253:111 Type testdata/Builtins.lc 253:105-253:106 Type testdata/Builtins.lc 253:107-253:111 PrimitiveType testdata/Builtins.lc 257:5-257:12 Type->Type testdata/Builtins.lc 257:14-257:15 Type testdata/Builtins.lc 257:14-257:20 Type->Type testdata/Builtins.lc 257:14-258:32 Type | Type->Type testdata/Builtins.lc 257:19-257:20 Type | Type->Type testdata/Builtins.lc 258:15-258:21 Type testdata/Builtins.lc 258:15-258:32 Type->Type testdata/Builtins.lc 258:26-258:32 Type | Type -> Type->Type | Type->Type testdata/Builtins.lc 258:27-258:28 Type testdata/Builtins.lc 258:30-258:31 Type testdata/Builtins.lc 260:6-260:14 Type | Type->Type testdata/Builtins.lc 260:6-265:74 Type testdata/Builtins.lc 260:18-260:22 Type testdata/Builtins.lc 260:26-260:30 Type testdata/Builtins.lc 261:3-261:13 Blending V0 | {a} -> Blending a testdata/Builtins.lc 261:3-261:70 Type testdata/Builtins.lc 261:60-261:68 Type->Type testdata/Builtins.lc 261:60-261:70 Type testdata/Builtins.lc 261:69-261:70 Type | V1 testdata/Builtins.lc 262:3-262:15 Blending V2 | {a} -> {b : Integral a} -> LogicOperation -> Blending a testdata/Builtins.lc 262:3-262:70 Type testdata/Builtins.lc 262:26-262:38 Type testdata/Builtins.lc 262:26-262:70 Type testdata/Builtins.lc 262:27-262:35 Type->Type testdata/Builtins.lc 262:36-262:37 V1 testdata/Builtins.lc 262:42-262:56 Type testdata/Builtins.lc 262:42-262:70 Type testdata/Builtins.lc 262:60-262:68 Type->Type testdata/Builtins.lc 262:60-262:70 Type testdata/Builtins.lc 262:69-262:70 Type testdata/Builtins.lc 263:3-263:8 Blending Float | Tuple2 BlendEquation BlendEquation -> Tuple2 (Tuple2 BlendingFactor BlendingFactor) (Tuple2 BlendingFactor BlendingFactor) -> Vec 4 Float -> Blending Float testdata/Builtins.lc 263:3-265:74 Type testdata/Builtins.lc 263:26-263:56 Type testdata/Builtins.lc 263:27-263:40 Type testdata/Builtins.lc 263:42-263:55 Type testdata/Builtins.lc 264:29-264:97 Type testdata/Builtins.lc 264:29-265:74 Type testdata/Builtins.lc 264:30-264:62 Type testdata/Builtins.lc 264:31-264:45 Type testdata/Builtins.lc 264:47-264:61 Type testdata/Builtins.lc 264:64-264:96 Type testdata/Builtins.lc 264:65-264:79 Type testdata/Builtins.lc 264:81-264:95 Type testdata/Builtins.lc 265:29-265:32 Nat -> Type->Type testdata/Builtins.lc 265:29-265:34 Type->Type testdata/Builtins.lc 265:29-265:40 Type testdata/Builtins.lc 265:29-265:74 Type testdata/Builtins.lc 265:33-265:34 V1 testdata/Builtins.lc 265:35-265:40 Type testdata/Builtins.lc 265:60-265:68 Type->Type testdata/Builtins.lc 265:60-265:74 Type testdata/Builtins.lc 265:69-265:74 Type testdata/Builtins.lc 272:6-272:18 Type testdata/Builtins.lc 273:6-273:16 Type testdata/Builtins.lc 274:6-274:11 Type testdata/Builtins.lc 276:6-276:23 ImageSemantics->Type | Type testdata/Builtins.lc 276:6-280:104 Type testdata/Builtins.lc 276:27-276:41 Type testdata/Builtins.lc 276:45-276:49 Type testdata/Builtins.lc 277:3-277:10 FragmentOperation ('Color V6) | {a} -> {b:Nat} -> {c} -> {d} -> {e : a ~ VecScalar b Bool} -> {f : c ~ VecScalar b d} -> {g : Num d} -> Blending d -> a -> FragmentOperation ('Color c) testdata/Builtins.lc 277:3-278:102 Type testdata/Builtins.lc 277:26-278:102 Type testdata/Builtins.lc 277:27-277:31 V8 testdata/Builtins.lc 277:27-277:33 V7->Type testdata/Builtins.lc 277:27-277:50 Type testdata/Builtins.lc 277:32-277:33 {a} -> a -> a->Type testdata/Builtins.lc 277:34-277:43 Nat -> Type->Type testdata/Builtins.lc 277:34-277:45 Type->Type testdata/Builtins.lc 277:34-277:50 Type testdata/Builtins.lc 277:44-277:45 V5 testdata/Builtins.lc 277:46-277:50 Type testdata/Builtins.lc 277:52-277:57 V5 testdata/Builtins.lc 277:52-277:59 V4->Type testdata/Builtins.lc 277:52-277:73 Type testdata/Builtins.lc 277:52-278:102 Type testdata/Builtins.lc 277:58-277:59 {a} -> a -> a->Type testdata/Builtins.lc 277:60-277:69 Nat -> Type->Type testdata/Builtins.lc 277:60-277:71 Type->Type testdata/Builtins.lc 277:60-277:73 Type testdata/Builtins.lc 277:70-277:71 Nat testdata/Builtins.lc 277:72-277:73 V2 testdata/Builtins.lc 277:75-277:78 Type->Type testdata/Builtins.lc 277:75-277:80 Type testdata/Builtins.lc 277:75-278:102 Type testdata/Builtins.lc 277:79-277:80 Type testdata/Builtins.lc 277:85-277:93 Type->Type testdata/Builtins.lc 277:85-277:95 Type testdata/Builtins.lc 277:85-278:102 Type testdata/Builtins.lc 277:94-277:95 Type testdata/Builtins.lc 277:99-277:103 Type testdata/Builtins.lc 277:99-278:102 Type testdata/Builtins.lc 278:71-278:88 ImageSemantics->Type testdata/Builtins.lc 278:71-278:102 Type testdata/Builtins.lc 278:89-278:102 ImageSemantics testdata/Builtins.lc 278:90-278:95 Type->ImageSemantics testdata/Builtins.lc 278:96-278:101 Type testdata/Builtins.lc 279:3-279:10 ComparisonFunction -> Bool -> FragmentOperation ('Depth Float) | FragmentOperation ('Depth Float) testdata/Builtins.lc 279:3-279:102 Type testdata/Builtins.lc 279:26-279:44 Type testdata/Builtins.lc 279:48-279:52 Type testdata/Builtins.lc 279:48-279:102 Type testdata/Builtins.lc 279:71-279:88 ImageSemantics->Type testdata/Builtins.lc 279:71-279:102 Type testdata/Builtins.lc 279:89-279:102 ImageSemantics testdata/Builtins.lc 279:90-279:95 Type->ImageSemantics testdata/Builtins.lc 279:96-279:101 Type testdata/Builtins.lc 280:3-280:12 FragmentOperation ('Stencil Int32) | StencilTests -> StencilOps -> StencilOps -> FragmentOperation ('Stencil Int32) testdata/Builtins.lc 280:3-280:104 Type testdata/Builtins.lc 280:26-280:38 Type testdata/Builtins.lc 280:42-280:52 Type testdata/Builtins.lc 280:42-280:104 Type testdata/Builtins.lc 280:56-280:66 Type testdata/Builtins.lc 280:56-280:104 Type testdata/Builtins.lc 280:71-280:88 ImageSemantics->Type testdata/Builtins.lc 280:71-280:104 Type testdata/Builtins.lc 280:89-280:104 ImageSemantics testdata/Builtins.lc 280:90-280:97 Type->ImageSemantics testdata/Builtins.lc 280:98-280:103 Type testdata/Builtins.lc 282:28-282:42 Type testdata/Builtins.lc 283:5-283:12 List ImageSemantics -> Type testdata/Builtins.lc 283:15-283:16 List ImageSemantics testdata/Builtins.lc 283:15-287:148 List ImageSemantics -> Type | Type testdata/Builtins.lc 283:20-283:41 Type testdata/Builtins.lc 283:20-287:148 List ImageSemantics -> Type | List V2 -> V2 | Type | V1 -> List V2 -> V2 testdata/Builtins.lc 283:21-283:38 ImageSemantics->Type testdata/Builtins.lc 283:39-283:40 V4 testdata/Builtins.lc 284:25-284:69 Type testdata/Builtins.lc 284:25-287:148 List ImageSemantics -> Type | List V1 -> Type | Type | V0 -> List V1 -> Type testdata/Builtins.lc 284:26-284:43 ImageSemantics->Type testdata/Builtins.lc 284:26-284:46 Type testdata/Builtins.lc 284:44-284:46 ImageSemantics testdata/Builtins.lc 284:48-284:65 ImageSemantics->Type testdata/Builtins.lc 284:48-284:68 Type testdata/Builtins.lc 284:66-284:68 V3 testdata/Builtins.lc 285:29-285:95 Type testdata/Builtins.lc 285:29-287:148 List ImageSemantics -> Type | List V1 -> Type | Type | V0 -> List V1 -> Type testdata/Builtins.lc 285:30-285:47 ImageSemantics->Type testdata/Builtins.lc 285:30-285:50 Type testdata/Builtins.lc 285:30-285:72 Type->Type testdata/Builtins.lc 285:48-285:50 ImageSemantics testdata/Builtins.lc 285:52-285:69 ImageSemantics->Type testdata/Builtins.lc 285:52-285:72 Type testdata/Builtins.lc 285:70-285:72 ImageSemantics testdata/Builtins.lc 285:74-285:91 ImageSemantics->Type testdata/Builtins.lc 285:74-285:94 Type testdata/Builtins.lc 285:92-285:94 V3 testdata/Builtins.lc 286:34-286:122 Type testdata/Builtins.lc 286:34-287:148 List ImageSemantics -> Type | List V1 -> Type | Type | V0 -> List V1 -> Type testdata/Builtins.lc 286:35-286:52 ImageSemantics->Type testdata/Builtins.lc 286:35-286:55 Type testdata/Builtins.lc 286:35-286:77 Type -> Type->Type testdata/Builtins.lc 286:35-286:99 Type->Type testdata/Builtins.lc 286:53-286:55 ImageSemantics testdata/Builtins.lc 286:57-286:74 ImageSemantics->Type testdata/Builtins.lc 286:57-286:77 Type testdata/Builtins.lc 286:75-286:77 ImageSemantics testdata/Builtins.lc 286:79-286:96 ImageSemantics->Type testdata/Builtins.lc 286:79-286:99 Type testdata/Builtins.lc 286:97-286:99 ImageSemantics testdata/Builtins.lc 286:101-286:118 ImageSemantics->Type testdata/Builtins.lc 286:101-286:121 Type testdata/Builtins.lc 286:119-286:121 V3 testdata/Builtins.lc 287:38-287:148 List V1 -> Type | Type | V0 -> List V1 -> Type testdata/Builtins.lc 287:39-287:56 ImageSemantics->Type testdata/Builtins.lc 287:39-287:59 Type testdata/Builtins.lc 287:39-287:81 Type -> Type -> Type->Type testdata/Builtins.lc 287:39-287:103 Type -> Type->Type testdata/Builtins.lc 287:39-287:125 Type->Type testdata/Builtins.lc 287:57-287:59 ImageSemantics testdata/Builtins.lc 287:61-287:78 ImageSemantics->Type testdata/Builtins.lc 287:61-287:81 Type testdata/Builtins.lc 287:79-287:81 ImageSemantics testdata/Builtins.lc 287:83-287:100 ImageSemantics->Type testdata/Builtins.lc 287:83-287:103 Type testdata/Builtins.lc 287:101-287:103 ImageSemantics testdata/Builtins.lc 287:105-287:122 ImageSemantics->Type testdata/Builtins.lc 287:105-287:125 Type testdata/Builtins.lc 287:123-287:125 ImageSemantics testdata/Builtins.lc 287:127-287:144 ImageSemantics->Type testdata/Builtins.lc 287:127-287:147 Type testdata/Builtins.lc 287:145-287:147 V3 testdata/Builtins.lc 289:6-289:8 {a} -> List a -> List a -> List a testdata/Builtins.lc 289:14-289:16 V3 testdata/Builtins.lc 289:14-290:26 List V0 -> List V1 | V0->V1 testdata/Builtins.lc 290:14-290:15 V3 testdata/Builtins.lc 290:14-290:17 List V2 -> List V3 testdata/Builtins.lc 290:14-290:26 List V1 -> V4 | List V2 | V0 -> List V1 -> V4 testdata/Builtins.lc 290:16-290:17 {a} -> a -> List a -> List a testdata/Builtins.lc 290:18-290:20 List V5 testdata/Builtins.lc 290:21-290:23 V7 testdata/Builtins.lc 290:24-290:26 List V6 testdata/Builtins.lc 292:1-292:6 {a} -> {b} -> (b -> a->a) -> a -> List b -> a testdata/Builtins.lc 292:16-292:17 V5 testdata/Builtins.lc 292:16-293:39 List V1 -> V6 | V0->V1 testdata/Builtins.lc 293:21-293:22 V8 testdata/Builtins.lc 293:21-293:39 List V1 -> V6 | V0 -> List V1 -> V6 testdata/Builtins.lc 293:23-293:24 V5 testdata/Builtins.lc 293:26-293:31 V13 testdata/Builtins.lc 293:32-293:33 V9->V7 testdata/Builtins.lc 293:34-293:35 V14 testdata/Builtins.lc 293:36-293:38 List V10 testdata/Builtins.lc 295:1-295:7 {a} -> List (List a) -> List a testdata/Builtins.lc 295:10-295:15 {a} -> {b} -> (b -> a->a) -> a -> List b -> a testdata/Builtins.lc 295:10-295:20 List V0 -> List (List V1) -> List V2 testdata/Builtins.lc 295:10-295:23 List (List V0) -> List V1 testdata/Builtins.lc 295:16-295:20 {a} -> List a -> List a -> List a testdata/Builtins.lc 295:21-295:23 {a} -> List a testdata/Builtins.lc 297:1-297:4 {a} -> {b} -> a->b -> List a -> List b testdata/Builtins.lc 297:16-297:18 {a} -> List a testdata/Builtins.lc 297:16-298:30 List V1 -> List V1 | V0->V1 testdata/Builtins.lc 298:16-298:17 V8 testdata/Builtins.lc 298:16-298:21 List V0 -> List V1 testdata/Builtins.lc 298:16-298:30 List V2 | List V2 -> List V2 | V1 -> List V2 -> List V2 testdata/Builtins.lc 298:18-298:19 V7 testdata/Builtins.lc 298:20-298:21 {a} -> a -> List a -> List a testdata/Builtins.lc 298:22-298:25 V8 testdata/Builtins.lc 298:26-298:27 V6->V6 testdata/Builtins.lc 298:28-298:30 List V7 testdata/Builtins.lc 300:14-300:38 Type testdata/Builtins.lc 300:15-300:16 V3 testdata/Builtins.lc 300:20-300:23 Type testdata/Builtins.lc 300:21-300:22 V2 testdata/Builtins.lc 300:28-300:38 Type testdata/Builtins.lc 300:29-300:30 Type testdata/Builtins.lc 300:35-300:38 Type testdata/Builtins.lc 300:36-300:37 Type testdata/Builtins.lc 301:1-301:10 {a} -> {b} -> (a -> List b) -> List a -> List b testdata/Builtins.lc 301:17-301:23 {a} -> List (List a) -> List a testdata/Builtins.lc 301:17-301:33 (V1 -> List V1) -> List V2 -> List V2 | List V2 | List V2 -> List V2 testdata/Builtins.lc 301:24-301:33 List (List V2) testdata/Builtins.lc 301:25-301:28 {a} -> {b} -> a->b -> List a -> List b testdata/Builtins.lc 301:25-301:30 List V4 -> List (List V4) testdata/Builtins.lc 301:29-301:30 V6 -> List V6 testdata/Builtins.lc 301:31-301:32 List V3 testdata/Builtins.lc 303:6-303:15 Type | Type -> PrimitiveType->Type testdata/Builtins.lc 303:6-306:56 Type testdata/Builtins.lc 303:21-303:34 Type testdata/Builtins.lc 303:21-303:42 Type testdata/Builtins.lc 303:38-303:42 Type testdata/Builtins.lc 304:5-304:14 Primitive V2 'Point | {a} -> a -> Primitive a 'Point testdata/Builtins.lc 304:5-304:53 Type testdata/Builtins.lc 304:21-304:22 Type testdata/Builtins.lc 304:21-304:53 Type testdata/Builtins.lc 304:36-304:45 Type -> PrimitiveType->Type testdata/Builtins.lc 304:36-304:47 PrimitiveType->Type testdata/Builtins.lc 304:36-304:53 Type testdata/Builtins.lc 304:46-304:47 Type testdata/Builtins.lc 304:48-304:53 PrimitiveType testdata/Builtins.lc 305:5-305:13 Primitive V4 'Line | {a} -> a -> a -> Primitive a 'Line testdata/Builtins.lc 305:5-305:52 Type testdata/Builtins.lc 305:21-305:22 Type testdata/Builtins.lc 305:21-305:52 Type testdata/Builtins.lc 305:26-305:27 Type testdata/Builtins.lc 305:26-305:52 Type testdata/Builtins.lc 305:36-305:45 Type -> PrimitiveType->Type testdata/Builtins.lc 305:36-305:47 PrimitiveType->Type testdata/Builtins.lc 305:36-305:52 Type testdata/Builtins.lc 305:46-305:47 Type testdata/Builtins.lc 305:48-305:52 PrimitiveType testdata/Builtins.lc 306:5-306:17 Primitive V6 'Triangle | {a} -> a -> a -> a -> Primitive a 'Triangle testdata/Builtins.lc 306:5-306:56 Type testdata/Builtins.lc 306:21-306:22 Type testdata/Builtins.lc 306:21-306:56 Type testdata/Builtins.lc 306:26-306:27 Type testdata/Builtins.lc 306:26-306:56 Type testdata/Builtins.lc 306:31-306:32 Type testdata/Builtins.lc 306:31-306:56 Type testdata/Builtins.lc 306:36-306:45 Type -> PrimitiveType->Type testdata/Builtins.lc 306:36-306:47 PrimitiveType->Type testdata/Builtins.lc 306:36-306:56 Type testdata/Builtins.lc 306:46-306:47 Type testdata/Builtins.lc 306:48-306:56 PrimitiveType testdata/Builtins.lc 308:6-308:21 PrimitiveType -> Type->Type testdata/Builtins.lc 308:29-308:38 Type -> PrimitiveType->Type testdata/Builtins.lc 308:29-308:40 PrimitiveType->Type testdata/Builtins.lc 308:29-308:42 Type testdata/Builtins.lc 308:39-308:40 V1 testdata/Builtins.lc 308:41-308:42 V2 testdata/Builtins.lc 310:1-310:13 {a} -> {b} -> {c:PrimitiveType} -> a->b -> Primitive a c -> Primitive b c testdata/Builtins.lc 310:17-310:59 Type testdata/Builtins.lc 310:18-310:19 V5 testdata/Builtins.lc 310:23-310:24 Type | V4 testdata/Builtins.lc 310:29-310:38 Type -> PrimitiveType->Type testdata/Builtins.lc 310:29-310:40 PrimitiveType->Type testdata/Builtins.lc 310:29-310:42 Type testdata/Builtins.lc 310:29-310:59 Type testdata/Builtins.lc 310:39-310:40 Type testdata/Builtins.lc 310:41-310:42 V2 testdata/Builtins.lc 310:46-310:55 Type -> PrimitiveType->Type testdata/Builtins.lc 310:46-310:57 PrimitiveType->Type testdata/Builtins.lc 310:46-310:59 Type testdata/Builtins.lc 310:56-310:57 Type testdata/Builtins.lc 310:58-310:59 PrimitiveType testdata/Builtins.lc 317:1-317:7 {a:PrimitiveType} -> {b} -> {c : AttributeTuple b} -> String -> b -> PrimitiveStream a b testdata/Builtins.lc 317:38-317:56 Type testdata/Builtins.lc 317:38-317:94 Type testdata/Builtins.lc 317:39-317:53 Type->Type testdata/Builtins.lc 317:54-317:55 V1 testdata/Builtins.lc 317:60-317:66 Type testdata/Builtins.lc 317:60-317:94 Type testdata/Builtins.lc 317:70-317:71 Type testdata/Builtins.lc 317:70-317:94 Type testdata/Builtins.lc 317:75-317:90 PrimitiveType -> Type->Type testdata/Builtins.lc 317:75-317:92 Type->Type testdata/Builtins.lc 317:75-317:94 Type testdata/Builtins.lc 317:91-317:92 V5 testdata/Builtins.lc 317:93-317:94 Type testdata/Builtins.lc 318:1-318:13 {a:PrimitiveType} -> {b} -> {c} -> {d : AttributeTuple b} -> {e : b ~ FTRepr' c} -> c -> PrimitiveStream a b testdata/Builtins.lc 318:41-318:104 Type testdata/Builtins.lc 318:42-318:56 Type->Type testdata/Builtins.lc 318:42-318:58 Type testdata/Builtins.lc 318:57-318:58 V3 testdata/Builtins.lc 318:60-318:61 Type testdata/Builtins.lc 318:60-318:63 Type->Type testdata/Builtins.lc 318:60-318:74 Type testdata/Builtins.lc 318:60-318:104 Type testdata/Builtins.lc 318:62-318:63 {a} -> a -> a->Type testdata/Builtins.lc 318:64-318:71 Type->Type testdata/Builtins.lc 318:64-318:74 Type testdata/Builtins.lc 318:72-318:74 V2 testdata/Builtins.lc 318:79-318:81 Type testdata/Builtins.lc 318:79-318:104 Type testdata/Builtins.lc 318:85-318:100 PrimitiveType -> Type->Type testdata/Builtins.lc 318:85-318:102 Type->Type testdata/Builtins.lc 318:85-318:104 Type testdata/Builtins.lc 318:101-318:102 V6 testdata/Builtins.lc 318:103-318:104 Type testdata/Builtins.lc 320:18-320:72 Type testdata/Builtins.lc 320:19-320:20 V5 testdata/Builtins.lc 320:24-320:25 Type | V4 testdata/Builtins.lc 320:30-320:45 PrimitiveType -> Type->Type testdata/Builtins.lc 320:30-320:47 Type->Type testdata/Builtins.lc 320:30-320:49 Type testdata/Builtins.lc 320:30-320:72 Type testdata/Builtins.lc 320:46-320:47 V2 testdata/Builtins.lc 320:48-320:49 Type testdata/Builtins.lc 320:53-320:68 PrimitiveType -> Type->Type testdata/Builtins.lc 320:53-320:70 Type->Type testdata/Builtins.lc 320:53-320:72 Type testdata/Builtins.lc 320:69-320:70 PrimitiveType testdata/Builtins.lc 320:71-320:72 Type testdata/Builtins.lc 321:1-321:14 {a} -> {b} -> {c:PrimitiveType} -> a->b -> List (Primitive a c) -> List (Primitive b c) testdata/Builtins.lc 321:19-321:22 {a} -> {b} -> a->b -> List a -> List b testdata/Builtins.lc 321:19-321:39 List (Primitive V4 V0) -> List (Primitive V4 V1) | V2->V2 -> PrimitiveStream V1 V3 -> PrimitiveStream V2 V3 testdata/Builtins.lc 321:23-321:39 Primitive V6 V0 -> Primitive V6 V1 testdata/Builtins.lc 321:24-321:36 {a} -> {b} -> {c:PrimitiveType} -> a->b -> Primitive a c -> Primitive b c testdata/Builtins.lc 321:37-321:38 V8->V8 testdata/Builtins.lc 323:1-323:6 {a} -> String -> c:PrimitiveType -> a -> PrimitiveStream c a testdata/Builtins.lc 323:15-323:21 {a:PrimitiveType} -> {b} -> {c : AttributeTuple b} -> String -> b -> PrimitiveStream a b testdata/Builtins.lc 323:15-323:24 {a} -> {b : AttributeTuple a} -> String -> a -> PrimitiveStream V6 a testdata/Builtins.lc 323:15-323:26 V0 -> PrimitiveStream V4 V1 testdata/Builtins.lc 323:15-323:28 PrimitiveStream V2 V1 testdata/Builtins.lc 323:23-323:24 V3 testdata/Builtins.lc 323:25-323:26 V5 testdata/Builtins.lc 323:27-323:28 V2 testdata/Builtins.lc 324:1-324:12 {a} -> b:PrimitiveType -> a -> PrimitiveStream b (FTRepr' a) testdata/Builtins.lc 324:19-324:31 {a:PrimitiveType} -> {b} -> {c} -> {d : AttributeTuple b} -> {e : b ~ FTRepr' c} -> c -> PrimitiveStream a b testdata/Builtins.lc 324:19-324:34 {a} -> {b} -> {c : AttributeTuple a} -> {d : a ~ FTRepr' b} -> b -> PrimitiveStream V7 a testdata/Builtins.lc 324:19-324:36 PrimitiveStream V2 (FTRepr' V1) testdata/Builtins.lc 324:33-324:34 V3 testdata/Builtins.lc 324:35-324:36 V2 testdata/Builtins.lc 326:17-326:31 Type testdata/Builtins.lc 326:35-326:39 Type testdata/Builtins.lc 327:1-327:13 ImageSemantics->Type testdata/Builtins.lc 327:21-327:22 ImageSemantics testdata/Builtins.lc 327:21-329:29 ImageSemantics->Type | Type testdata/Builtins.lc 327:26-327:27 Type | Type->Type testdata/Builtins.lc 327:26-329:29 ImageSemantics->Type testdata/Builtins.lc 328:26-328:27 Type | Type->V1 testdata/Builtins.lc 328:26-329:29 Type->Type -> ImageSemantics->Type testdata/Builtins.lc 329:28-329:29 Type | Type->Type testdata/Builtins.lc 331:19-331:33 Type testdata/Builtins.lc 331:38-331:42 Type testdata/Builtins.lc 332:1-332:14 List ImageSemantics -> Type testdata/Builtins.lc 332:20-332:23 Type testdata/Builtins.lc 332:20-337:114 List ImageSemantics -> Type | Type testdata/Builtins.lc 333:21-333:33 ImageSemantics->Type testdata/Builtins.lc 333:21-333:35 Type testdata/Builtins.lc 333:21-337:114 List ImageSemantics -> Type | List V1 -> Type | Type | V0 -> List V1 -> Type testdata/Builtins.lc 333:34-333:35 V3 testdata/Builtins.lc 334:24-334:57 Type testdata/Builtins.lc 334:24-337:114 List ImageSemantics -> Type | List V1 -> Type | Type | V0 -> List V1 -> Type testdata/Builtins.lc 334:26-334:38 ImageSemantics->Type testdata/Builtins.lc 334:26-334:40 Type testdata/Builtins.lc 334:39-334:40 ImageSemantics testdata/Builtins.lc 334:42-334:54 ImageSemantics->Type testdata/Builtins.lc 334:42-334:56 Type testdata/Builtins.lc 334:55-334:56 V3 testdata/Builtins.lc 335:27-335:76 Type testdata/Builtins.lc 335:27-337:114 List ImageSemantics -> Type | List V1 -> Type | Type | V0 -> List V1 -> Type testdata/Builtins.lc 335:29-335:41 ImageSemantics->Type testdata/Builtins.lc 335:29-335:43 Type testdata/Builtins.lc 335:29-335:59 Type->Type testdata/Builtins.lc 335:42-335:43 ImageSemantics testdata/Builtins.lc 335:45-335:57 ImageSemantics->Type testdata/Builtins.lc 335:45-335:59 Type testdata/Builtins.lc 335:58-335:59 ImageSemantics testdata/Builtins.lc 335:61-335:73 ImageSemantics->Type testdata/Builtins.lc 335:61-335:75 Type testdata/Builtins.lc 335:74-335:75 V3 testdata/Builtins.lc 336:30-336:95 Type testdata/Builtins.lc 336:30-337:114 List ImageSemantics -> Type | List V1 -> Type | Type | V0 -> List V1 -> Type testdata/Builtins.lc 336:32-336:44 ImageSemantics->Type testdata/Builtins.lc 336:32-336:46 Type testdata/Builtins.lc 336:32-336:62 Type -> Type->Type testdata/Builtins.lc 336:32-336:78 Type->Type testdata/Builtins.lc 336:45-336:46 ImageSemantics testdata/Builtins.lc 336:48-336:60 ImageSemantics->Type testdata/Builtins.lc 336:48-336:62 Type testdata/Builtins.lc 336:61-336:62 ImageSemantics testdata/Builtins.lc 336:64-336:76 ImageSemantics->Type testdata/Builtins.lc 336:64-336:78 Type testdata/Builtins.lc 336:77-336:78 ImageSemantics testdata/Builtins.lc 336:80-336:92 ImageSemantics->Type testdata/Builtins.lc 336:80-336:94 Type testdata/Builtins.lc 336:93-336:94 V3 testdata/Builtins.lc 337:33-337:114 List V1 -> Type | Type | V0 -> List V1 -> Type testdata/Builtins.lc 337:35-337:47 ImageSemantics->Type testdata/Builtins.lc 337:35-337:49 Type testdata/Builtins.lc 337:35-337:65 Type -> Type -> Type->Type testdata/Builtins.lc 337:35-337:81 Type -> Type->Type testdata/Builtins.lc 337:35-337:97 Type->Type testdata/Builtins.lc 337:48-337:49 ImageSemantics testdata/Builtins.lc 337:51-337:63 ImageSemantics->Type testdata/Builtins.lc 337:51-337:65 Type testdata/Builtins.lc 337:64-337:65 ImageSemantics testdata/Builtins.lc 337:67-337:79 ImageSemantics->Type testdata/Builtins.lc 337:67-337:81 Type testdata/Builtins.lc 337:80-337:81 ImageSemantics testdata/Builtins.lc 337:83-337:95 ImageSemantics->Type testdata/Builtins.lc 337:83-337:97 Type testdata/Builtins.lc 337:96-337:97 ImageSemantics testdata/Builtins.lc 337:99-337:111 ImageSemantics->Type testdata/Builtins.lc 337:99-337:113 Type testdata/Builtins.lc 337:112-337:113 V3 testdata/Builtins.lc 339:19-339:33 Type testdata/Builtins.lc 339:38-339:42 Type testdata/Builtins.lc 340:1-340:14 List ImageSemantics -> Type testdata/Builtins.lc 340:16-340:26 List ImageSemantics testdata/Builtins.lc 340:16-341:34 List ImageSemantics -> Type | Type testdata/Builtins.lc 340:30-340:43 List ImageSemantics -> Type testdata/Builtins.lc 340:30-340:45 Type | Type->V1 testdata/Builtins.lc 340:30-341:34 List V1 -> Type | Type | Type->Type -> ImageSemantics->Type | V0 -> List V1 -> Type testdata/Builtins.lc 340:44-340:45 List V3 testdata/Builtins.lc 341:19-341:32 List ImageSemantics -> Type testdata/Builtins.lc 341:19-341:34 Type | Type->Type testdata/Builtins.lc 341:33-341:34 List ImageSemantics testdata/Builtins.lc 345:6-345:11 Type | Type->Type testdata/Builtins.lc 345:6-347:11 Type testdata/Builtins.lc 345:6-347:13 Type testdata/Builtins.lc 346:7-346:14 Maybe V1 | {a} -> Maybe a testdata/Builtins.lc 347:7-347:11 Maybe V3 | Type | {a} -> a -> Maybe a testdata/Builtins.lc 347:12-347:13 Type testdata/Builtins.lc 350:6-350:12 Nat -> Type->Type | Type testdata/Builtins.lc 350:19-350:22 Type testdata/Builtins.lc 352:6-352:14 Nat -> Type->Type testdata/Builtins.lc 352:21-352:27 Nat -> Type->Type testdata/Builtins.lc 352:21-352:29 Type->Type testdata/Builtins.lc 352:21-352:56 Type testdata/Builtins.lc 352:28-352:29 V3 testdata/Builtins.lc 352:30-352:56 Type testdata/Builtins.lc 352:31-352:36 Type->Type testdata/Builtins.lc 352:37-352:55 Type testdata/Builtins.lc 352:38-352:52 Type->Type testdata/Builtins.lc 352:53-352:54 V1 testdata/Builtins.lc 354:6-354:20 Type | Type->Type testdata/Builtins.lc 354:6-354:39 Type testdata/Builtins.lc 354:6-356:29 Type testdata/Builtins.lc 354:25-354:39 SimpleFragment V3 | Type | V2 | {a} -> Vec 3 Float -> a -> SimpleFragment a testdata/Builtins.lc 355:7-355:22 {a} -> SimpleFragment a -> VecS Float 3 testdata/Builtins.lc 355:28-355:31 Nat -> Type->Type testdata/Builtins.lc 355:28-355:33 Type->Type testdata/Builtins.lc 355:28-355:39 Type testdata/Builtins.lc 355:32-355:33 V1 testdata/Builtins.lc 355:34-355:39 Type testdata/Builtins.lc 356:7-356:21 {a} -> SimpleFragment a -> a testdata/Builtins.lc 356:28-356:29 Type testdata/Builtins.lc 359:6-359:20 Nat -> Type->Type testdata/Builtins.lc 359:28-359:36 Nat -> Type->Type testdata/Builtins.lc 359:28-359:38 Type->Type testdata/Builtins.lc 359:28-359:40 Type testdata/Builtins.lc 359:37-359:38 V3 testdata/Builtins.lc 359:39-359:40 V1 testdata/Builtins.lc 361:1-361:15 {a} -> {b:Nat} -> a->Float -> Fragment b a -> Fragment b a testdata/Builtins.lc 361:19-361:63 Type testdata/Builtins.lc 361:20-361:21 V3 testdata/Builtins.lc 361:25-361:30 Type testdata/Builtins.lc 361:35-361:43 Nat -> Type->Type testdata/Builtins.lc 361:35-361:45 Type->Type testdata/Builtins.lc 361:35-361:47 Type testdata/Builtins.lc 361:35-361:63 Type testdata/Builtins.lc 361:44-361:45 V2 testdata/Builtins.lc 361:46-361:47 Type testdata/Builtins.lc 361:51-361:59 Nat -> Type->Type testdata/Builtins.lc 361:51-361:61 Type->Type testdata/Builtins.lc 361:51-361:63 Type testdata/Builtins.lc 361:60-361:61 Nat testdata/Builtins.lc 361:62-361:63 Type testdata/Builtins.lc 363:20-363:76 Type testdata/Builtins.lc 363:21-363:22 V3 testdata/Builtins.lc 363:26-363:31 Type testdata/Builtins.lc 363:36-363:50 Nat -> Type->Type testdata/Builtins.lc 363:36-363:52 Type->Type testdata/Builtins.lc 363:36-363:54 Type testdata/Builtins.lc 363:36-363:76 Type testdata/Builtins.lc 363:51-363:52 V2 testdata/Builtins.lc 363:53-363:54 Type testdata/Builtins.lc 363:58-363:72 Nat -> Type->Type testdata/Builtins.lc 363:58-363:74 Type->Type testdata/Builtins.lc 363:58-363:76 Type testdata/Builtins.lc 363:73-363:74 Nat testdata/Builtins.lc 363:75-363:76 Type testdata/Builtins.lc 364:1-364:16 {a} -> {b:Nat} -> a->Float -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a))) testdata/Builtins.lc 364:21-364:24 {a} -> {b} -> a->b -> List a -> List b testdata/Builtins.lc 364:21-364:43 List (Vector V0 (Maybe (SimpleFragment V3))) -> List (Vector V1 (Maybe (SimpleFragment V4))) | V1->Float -> FragmentStream V1 V2 -> FragmentStream V2 V3 testdata/Builtins.lc 364:25-364:43 Fragment V0 V5 -> Fragment V1 V6 testdata/Builtins.lc 364:26-364:40 {a} -> {b:Nat} -> a->Float -> Fragment b a -> Fragment b a testdata/Builtins.lc 364:41-364:42 V6->Float testdata/Builtins.lc 366:1-366:15 {a} -> {b:Nat} -> a->Bool -> Fragment b a -> Fragment b a testdata/Builtins.lc 366:19-366:62 Type testdata/Builtins.lc 366:20-366:21 V3 testdata/Builtins.lc 366:25-366:29 Type testdata/Builtins.lc 366:34-366:42 Nat -> Type->Type testdata/Builtins.lc 366:34-366:44 Type->Type testdata/Builtins.lc 366:34-366:46 Type testdata/Builtins.lc 366:34-366:62 Type testdata/Builtins.lc 366:43-366:44 V2 testdata/Builtins.lc 366:45-366:46 Type testdata/Builtins.lc 366:50-366:58 Nat -> Type->Type testdata/Builtins.lc 366:50-366:60 Type->Type testdata/Builtins.lc 366:50-366:62 Type testdata/Builtins.lc 366:59-366:60 Nat testdata/Builtins.lc 366:61-366:62 Type testdata/Builtins.lc 368:20-368:75 Type testdata/Builtins.lc 368:21-368:22 V3 testdata/Builtins.lc 368:26-368:30 Type testdata/Builtins.lc 368:35-368:49 Nat -> Type->Type testdata/Builtins.lc 368:35-368:51 Type->Type testdata/Builtins.lc 368:35-368:53 Type testdata/Builtins.lc 368:35-368:75 Type testdata/Builtins.lc 368:50-368:51 V2 testdata/Builtins.lc 368:52-368:53 Type testdata/Builtins.lc 368:57-368:71 Nat -> Type->Type testdata/Builtins.lc 368:57-368:73 Type->Type testdata/Builtins.lc 368:57-368:75 Type testdata/Builtins.lc 368:72-368:73 Nat testdata/Builtins.lc 368:74-368:75 Type testdata/Builtins.lc 369:1-369:16 {a} -> {b:Nat} -> a->Bool -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a))) testdata/Builtins.lc 369:21-369:24 {a} -> {b} -> a->b -> List a -> List b testdata/Builtins.lc 369:21-369:43 List (Vector V0 (Maybe (SimpleFragment V3))) -> List (Vector V1 (Maybe (SimpleFragment V4))) | V1->Bool -> FragmentStream V1 V2 -> FragmentStream V2 V3 testdata/Builtins.lc 369:25-369:43 Fragment V0 V5 -> Fragment V1 V6 testdata/Builtins.lc 369:26-369:40 {a} -> {b:Nat} -> a->Bool -> Fragment b a -> Fragment b a testdata/Builtins.lc 369:41-369:42 V6->Bool testdata/Builtins.lc 371:1-371:12 {a} -> {b} -> {c:Nat} -> a->b -> Fragment c a -> Fragment c b testdata/Builtins.lc 371:16-371:56 Type testdata/Builtins.lc 371:17-371:18 V5 testdata/Builtins.lc 371:22-371:23 Type | V4 testdata/Builtins.lc 371:28-371:36 Nat -> Type->Type testdata/Builtins.lc 371:28-371:38 Type->Type testdata/Builtins.lc 371:28-371:40 Type testdata/Builtins.lc 371:28-371:56 Type testdata/Builtins.lc 371:37-371:38 V2 testdata/Builtins.lc 371:39-371:40 Type testdata/Builtins.lc 371:44-371:52 Nat -> Type->Type testdata/Builtins.lc 371:44-371:54 Type->Type testdata/Builtins.lc 371:44-371:56 Type testdata/Builtins.lc 371:53-371:54 Nat testdata/Builtins.lc 371:55-371:56 Type testdata/Builtins.lc 373:17-373:69 Type testdata/Builtins.lc 373:18-373:19 V5 testdata/Builtins.lc 373:23-373:24 Type | V4 testdata/Builtins.lc 373:29-373:43 Nat -> Type->Type testdata/Builtins.lc 373:29-373:45 Type->Type testdata/Builtins.lc 373:29-373:47 Type testdata/Builtins.lc 373:29-373:69 Type testdata/Builtins.lc 373:44-373:45 V2 testdata/Builtins.lc 373:46-373:47 Type testdata/Builtins.lc 373:51-373:65 Nat -> Type->Type testdata/Builtins.lc 373:51-373:67 Type->Type testdata/Builtins.lc 373:51-373:69 Type testdata/Builtins.lc 373:66-373:67 Nat testdata/Builtins.lc 373:68-373:69 Type testdata/Builtins.lc 374:1-374:13 {a} -> {b} -> {c:Nat} -> a->b -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b))) testdata/Builtins.lc 374:18-374:21 {a} -> {b} -> a->b -> List a -> List b testdata/Builtins.lc 374:18-374:37 List (Vector V0 (Maybe (SimpleFragment V4))) -> List (Vector V1 (Maybe (SimpleFragment V4))) | V2->V2 -> FragmentStream V1 V3 -> FragmentStream V2 V3 testdata/Builtins.lc 374:22-374:37 Fragment V0 V6 -> Fragment V1 V6 testdata/Builtins.lc 374:23-374:34 {a} -> {b} -> {c:Nat} -> a->b -> Fragment c a -> Fragment c b testdata/Builtins.lc 374:35-374:36 V8->V8 testdata/Builtins.lc 377:6-377:18 Type | Type->Type testdata/Builtins.lc 377:6-380:7 Type testdata/Builtins.lc 378:3-378:9 Interpolated V2 | Type | {a} -> {b : Floating a} -> Interpolated a testdata/Builtins.lc 378:11-378:24 Interpolated V3 | Type | {a} -> {b : Floating a} -> Interpolated a testdata/Builtins.lc 379:26-379:38 Type testdata/Builtins.lc 379:26-379:56 Type testdata/Builtins.lc 379:27-379:35 Type->Type testdata/Builtins.lc 379:36-379:37 Type testdata/Builtins.lc 379:42-379:54 Type->Type testdata/Builtins.lc 379:42-379:56 Type testdata/Builtins.lc 379:55-379:56 Type testdata/Builtins.lc 380:3-380:7 Interpolated V3 | {a} -> Interpolated a testdata/Builtins.lc 380:42-380:54 Type->Type testdata/Builtins.lc 380:42-380:56 Type testdata/Builtins.lc 380:55-380:56 Type testdata/Builtins.lc 383:5-383:21 Type->Type testdata/Builtins.lc 383:27-383:29 Type testdata/Builtins.lc 383:27-386:82 Type | Type->Type testdata/Builtins.lc 384:36-384:37 Type testdata/Builtins.lc 384:36-384:42 Type->Type testdata/Builtins.lc 384:36-386:82 Type testdata/Builtins.lc 384:41-384:42 Type | Type->Type testdata/Builtins.lc 385:23-385:53 Type testdata/Builtins.lc 385:23-385:63 Type->Type testdata/Builtins.lc 385:23-386:82 Type testdata/Builtins.lc 385:57-385:63 Type | Type -> Type->Type | Type->Type testdata/Builtins.lc 385:58-385:59 Type testdata/Builtins.lc 385:61-385:62 Type testdata/Builtins.lc 386:23-386:69 Type testdata/Builtins.lc 386:23-386:82 Type->Type testdata/Builtins.lc 386:73-386:82 Type | Type -> Type -> Type->Type | Type -> Type->Type | Type->Type testdata/Builtins.lc 386:74-386:75 Type testdata/Builtins.lc 386:74-386:78 Type->Type testdata/Builtins.lc 386:77-386:78 Type testdata/Builtins.lc 386:80-386:81 Type testdata/Builtins.lc 388:1-388:19 {a} -> {b} -> {c} -> {d:PrimitiveType} -> {e : a ~ InterpolatedType b} -> {f : c ~ JoinTupleType (Vec 4 Float) a} -> b -> RasterContext c d -> Primitive c d -> FragmentStream 1 a testdata/Builtins.lc 389:8-394:26 Type testdata/Builtins.lc 389:10-389:11 V8 testdata/Builtins.lc 389:10-389:13 V7->Type testdata/Builtins.lc 389:10-389:44 Type testdata/Builtins.lc 389:12-389:13 {a} -> a -> a->Type testdata/Builtins.lc 389:14-389:30 Type->Type testdata/Builtins.lc 389:14-389:44 Type testdata/Builtins.lc 389:31-389:44 V5 testdata/Builtins.lc 390:10-390:11 V5 testdata/Builtins.lc 390:10-390:13 V4->Type testdata/Builtins.lc 390:10-390:43 Type testdata/Builtins.lc 390:10-394:26 Type testdata/Builtins.lc 390:12-390:13 {a} -> a -> a->Type testdata/Builtins.lc 390:14-390:27 Type -> Type->Type testdata/Builtins.lc 390:14-390:41 Type->Type testdata/Builtins.lc 390:14-390:43 Type testdata/Builtins.lc 390:28-390:41 Type testdata/Builtins.lc 390:29-390:32 Nat -> Type->Type testdata/Builtins.lc 390:29-390:34 Type->Type testdata/Builtins.lc 390:33-390:34 V1 testdata/Builtins.lc 390:35-390:40 Type testdata/Builtins.lc 390:42-390:43 Type testdata/Builtins.lc 391:8-391:21 Type testdata/Builtins.lc 391:8-394:26 Type testdata/Builtins.lc 392:8-392:21 Type -> PrimitiveType->Type testdata/Builtins.lc 392:8-392:23 PrimitiveType->Type testdata/Builtins.lc 392:8-392:25 Type testdata/Builtins.lc 392:8-394:26 Type testdata/Builtins.lc 392:22-392:23 Type testdata/Builtins.lc 392:24-392:25 V4 testdata/Builtins.lc 393:8-393:17 Type -> PrimitiveType->Type testdata/Builtins.lc 393:8-393:19 PrimitiveType->Type testdata/Builtins.lc 393:8-393:21 Type testdata/Builtins.lc 393:8-394:26 Type testdata/Builtins.lc 393:18-393:19 Type testdata/Builtins.lc 393:20-393:21 PrimitiveType testdata/Builtins.lc 394:8-394:22 Nat -> Type->Type testdata/Builtins.lc 394:8-394:24 Type->Type testdata/Builtins.lc 394:8-394:26 Type testdata/Builtins.lc 394:23-394:24 V1 testdata/Builtins.lc 394:25-394:26 Type testdata/Builtins.lc 396:1-396:20 {a} -> {b:PrimitiveType} -> RasterContext (JoinTupleType (Vec 4 Float) (InterpolatedType a)) b -> a -> List (Primitive (JoinTupleType (Vec 4 Float) (InterpolatedType a)) b) -> List (Vector 1 (Maybe (SimpleFragment (InterpolatedType a)))) testdata/Builtins.lc 396:32-396:38 {a} -> List (List a) -> List a testdata/Builtins.lc 396:32-396:74 List (Vector 1 (Maybe (SimpleFragment (InterpolatedType V3)))) testdata/Builtins.lc 396:39-396:74 List (List (Fragment 1 (InterpolatedType V3))) testdata/Builtins.lc 396:40-396:43 {a} -> {b} -> a->b -> List a -> List b testdata/Builtins.lc 396:40-396:71 List (Primitive (JoinTupleType (Vec 4 Float) (InterpolatedType V5)) V0) -> List (List (Fragment 1 (InterpolatedType V6))) testdata/Builtins.lc 396:44-396:71 Primitive (JoinTupleType (Vec 4 Float) (InterpolatedType V5)) V0 -> FragmentStream 1 (InterpolatedType V6) testdata/Builtins.lc 396:45-396:63 {a} -> {b} -> {c} -> {d:PrimitiveType} -> {e : a ~ InterpolatedType b} -> {f : c ~ JoinTupleType (Vec 4 Float) a} -> b -> RasterContext c d -> Primitive c d -> FragmentStream 1 a testdata/Builtins.lc 396:45-396:66 RasterContext (JoinTupleType (Vec 4 Float) (InterpolatedType V7)) V0 -> Primitive (JoinTupleType (Vec 4 Float) (InterpolatedType V8)) V1 -> FragmentStream 1 (InterpolatedType V9) testdata/Builtins.lc 396:64-396:66 V8 testdata/Builtins.lc 396:67-396:70 V7 testdata/Builtins.lc 396:72-396:73 V2 testdata/Builtins.lc 398:6-398:11 Nat -> ImageSemantics->Type | Type testdata/Builtins.lc 398:6-398:43 Type testdata/Builtins.lc 398:18-398:21 Type testdata/Builtins.lc 398:29-398:43 Type testdata/Builtins.lc 400:1-400:11 {a:Nat} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : d ~ VecScalar b c} -> d -> Image a ('Color d) testdata/Builtins.lc 400:45-401:55 Type testdata/Builtins.lc 400:46-400:49 Type->Type testdata/Builtins.lc 400:46-400:51 Type testdata/Builtins.lc 400:50-400:51 V3 testdata/Builtins.lc 400:53-400:58 V3 testdata/Builtins.lc 400:53-400:60 V2->Type testdata/Builtins.lc 400:53-400:74 Type testdata/Builtins.lc 400:53-401:55 Type testdata/Builtins.lc 400:59-400:60 {a} -> a -> a->Type testdata/Builtins.lc 400:61-400:70 Nat -> Type->Type testdata/Builtins.lc 400:61-400:72 Type->Type testdata/Builtins.lc 400:61-400:74 Type testdata/Builtins.lc 400:71-400:72 V5 testdata/Builtins.lc 400:73-400:74 Type testdata/Builtins.lc 401:24-401:29 Type testdata/Builtins.lc 401:24-401:55 Type testdata/Builtins.lc 401:34-401:39 Nat -> ImageSemantics->Type testdata/Builtins.lc 401:34-401:41 ImageSemantics->Type testdata/Builtins.lc 401:34-401:55 Type testdata/Builtins.lc 401:40-401:41 V7 testdata/Builtins.lc 401:42-401:55 ImageSemantics testdata/Builtins.lc 401:43-401:48 Type->ImageSemantics testdata/Builtins.lc 401:49-401:54 Type testdata/Builtins.lc 402:1-402:11 {a:Nat} -> Float -> Image a ('Depth Float) testdata/Builtins.lc 402:35-402:40 Type testdata/Builtins.lc 402:35-402:66 Type testdata/Builtins.lc 402:45-402:50 Nat -> ImageSemantics->Type testdata/Builtins.lc 402:45-402:52 ImageSemantics->Type testdata/Builtins.lc 402:45-402:66 Type testdata/Builtins.lc 402:51-402:52 V2 testdata/Builtins.lc 402:53-402:66 ImageSemantics testdata/Builtins.lc 402:54-402:59 Type->ImageSemantics testdata/Builtins.lc 402:60-402:65 Type testdata/Builtins.lc 403:1-403:13 {a:Nat} -> Int -> Image a ('Stencil Int) testdata/Builtins.lc 403:35-403:38 Type testdata/Builtins.lc 403:35-403:66 Type testdata/Builtins.lc 403:45-403:50 Nat -> ImageSemantics->Type testdata/Builtins.lc 403:45-403:52 ImageSemantics->Type testdata/Builtins.lc 403:45-403:66 Type testdata/Builtins.lc 403:51-403:52 V2 testdata/Builtins.lc 403:53-403:66 ImageSemantics testdata/Builtins.lc 403:54-403:61 Type->ImageSemantics testdata/Builtins.lc 403:62-403:65 Type testdata/Builtins.lc 406:5-406:20 Type->Type testdata/Builtins.lc 406:28-406:33 Type testdata/Builtins.lc 406:28-406:41 Type->Type testdata/Builtins.lc 406:28-408:99 Type | Type->Type testdata/Builtins.lc 406:37-406:41 ImageSemantics->Type | Nat -> ImageSemantics->Type | Type testdata/Builtins.lc 407:22-407:46 Type testdata/Builtins.lc 407:22-407:64 Type->Type testdata/Builtins.lc 407:22-408:99 Type testdata/Builtins.lc 407:50-407:54 a:Type -> a -> a->Type testdata/Builtins.lc 407:50-407:58 Nat -> Nat->Type testdata/Builtins.lc 407:50-407:61 Nat->Type testdata/Builtins.lc 407:50-407:64 ImageSemantics->Type | Nat -> ImageSemantics->Type | Type | Type -> Type->Type | Type->Type testdata/Builtins.lc 407:55-407:58 Type testdata/Builtins.lc 407:59-407:61 Nat testdata/Builtins.lc 407:62-407:64 Nat testdata/Builtins.lc 408:22-408:59 Type testdata/Builtins.lc 408:22-408:99 Type->Type testdata/Builtins.lc 408:63-408:65 Type -> Type->Type testdata/Builtins.lc 408:63-408:82 Type->Type testdata/Builtins.lc 408:63-408:99 ImageSemantics->Type | Nat -> ImageSemantics->Type | Type | Type -> Type -> Type->Type | Type -> Type->Type | Type->Type testdata/Builtins.lc 408:66-408:82 Type testdata/Builtins.lc 408:67-408:71 a:Type -> a -> a->Type testdata/Builtins.lc 408:67-408:75 Nat -> Nat->Type testdata/Builtins.lc 408:67-408:78 Nat->Type testdata/Builtins.lc 408:72-408:75 Type testdata/Builtins.lc 408:76-408:78 Nat testdata/Builtins.lc 408:79-408:81 Nat testdata/Builtins.lc 408:83-408:99 Type testdata/Builtins.lc 408:84-408:88 a:Type -> a -> a->Type testdata/Builtins.lc 408:84-408:92 Nat -> Nat->Type testdata/Builtins.lc 408:84-408:95 Nat->Type testdata/Builtins.lc 408:89-408:92 Type testdata/Builtins.lc 408:93-408:95 Nat testdata/Builtins.lc 408:96-408:98 Nat testdata/Builtins.lc 419:6-419:17 Nat -> List ImageSemantics -> Type | Type testdata/Builtins.lc 419:6-419:51 Type testdata/Builtins.lc 419:24-419:27 Type testdata/Builtins.lc 419:35-419:51 Type testdata/Builtins.lc 419:36-419:50 Type testdata/Builtins.lc 421:1-421:11 {a : List ImageSemantics} -> {b:Nat} -> FragOps a -> FragmentStream b ('remSemantics' a) -> FrameBuffer b a -> FrameBuffer b a testdata/Builtins.lc 421:15-421:22 List ImageSemantics -> Type testdata/Builtins.lc 421:15-421:24 Type testdata/Builtins.lc 421:15-421:100 Type testdata/Builtins.lc 421:23-421:24 V3 testdata/Builtins.lc 421:28-421:42 Nat -> Type->Type testdata/Builtins.lc 421:28-421:44 Type->Type testdata/Builtins.lc 421:28-421:62 Type testdata/Builtins.lc 421:28-421:100 Type testdata/Builtins.lc 421:43-421:44 V2 testdata/Builtins.lc 421:45-421:62 Type testdata/Builtins.lc 421:46-421:59 List ImageSemantics -> Type testdata/Builtins.lc 421:60-421:61 List ImageSemantics testdata/Builtins.lc 421:66-421:77 Nat -> List ImageSemantics -> Type testdata/Builtins.lc 421:66-421:79 List ImageSemantics -> Type testdata/Builtins.lc 421:66-421:81 Type testdata/Builtins.lc 421:66-421:100 Type testdata/Builtins.lc 421:78-421:79 Nat testdata/Builtins.lc 421:80-421:81 List ImageSemantics testdata/Builtins.lc 421:85-421:96 Nat -> List ImageSemantics -> Type testdata/Builtins.lc 421:85-421:98 List ImageSemantics -> Type testdata/Builtins.lc 421:85-421:100 Type testdata/Builtins.lc 421:97-421:98 Nat testdata/Builtins.lc 421:99-421:100 List ImageSemantics testdata/Builtins.lc 424:5-424:18 Type->Type testdata/Builtins.lc 424:26-424:31 Type testdata/Builtins.lc 424:26-424:55 Type->Type testdata/Builtins.lc 424:26-426:89 Type | Type->Type testdata/Builtins.lc 424:35-424:46 Nat -> List ImageSemantics -> Type testdata/Builtins.lc 424:35-424:49 List ImageSemantics -> Type testdata/Builtins.lc 424:35-424:55 ImageSemantics->Type | Nat -> ImageSemantics->Type | Type testdata/Builtins.lc 424:47-424:49 Nat testdata/Builtins.lc 424:50-424:55 List ImageSemantics testdata/Builtins.lc 424:52-424:54 ImageSemantics testdata/Builtins.lc 425:20-425:44 Type testdata/Builtins.lc 425:20-425:72 Type->Type testdata/Builtins.lc 425:20-426:89 Type testdata/Builtins.lc 425:48-425:59 Nat -> List ImageSemantics -> Type testdata/Builtins.lc 425:48-425:62 List ImageSemantics -> Type testdata/Builtins.lc 425:48-425:72 ImageSemantics->Type | Nat -> ImageSemantics->Type | Type | Type -> Type->Type | Type->Type testdata/Builtins.lc 425:60-425:62 Nat testdata/Builtins.lc 425:63-425:72 List ImageSemantics testdata/Builtins.lc 425:65-425:67 ImageSemantics testdata/Builtins.lc 425:69-425:71 ImageSemantics | List ImageSemantics testdata/Builtins.lc 426:20-426:57 Type testdata/Builtins.lc 426:20-426:89 Type->Type testdata/Builtins.lc 426:61-426:72 Nat -> List ImageSemantics -> Type testdata/Builtins.lc 426:61-426:75 List ImageSemantics -> Type testdata/Builtins.lc 426:61-426:89 ImageSemantics->Type | Nat -> ImageSemantics->Type | Type | Type -> Type -> Type->Type | Type -> Type->Type | Type->Type testdata/Builtins.lc 426:73-426:75 Nat testdata/Builtins.lc 426:76-426:89 List ImageSemantics testdata/Builtins.lc 426:78-426:80 ImageSemantics testdata/Builtins.lc 426:82-426:84 ImageSemantics testdata/Builtins.lc 426:82-426:88 List ImageSemantics testdata/Builtins.lc 426:86-426:88 ImageSemantics | List ImageSemantics testdata/Builtins.lc 428:7-428:23 List ImageSemantics -> Type testdata/Builtins.lc 428:31-428:45 Type testdata/Builtins.lc 431:1-431:12 {a : List ImageSemantics} -> {b} -> {c:Nat} -> {d : ValidFrameBuffer a} -> {e : SameLayerCounts b} -> {f : FrameBuffer c a ~ TFFrameBuffer b} -> b -> FrameBuffer c a testdata/Builtins.lc 431:17-431:115 Type testdata/Builtins.lc 431:18-431:34 List ImageSemantics -> Type testdata/Builtins.lc 431:18-431:36 Type testdata/Builtins.lc 431:35-431:36 V5 testdata/Builtins.lc 431:38-431:53 Type->Type testdata/Builtins.lc 431:38-431:55 Type testdata/Builtins.lc 431:38-431:115 Type testdata/Builtins.lc 431:54-431:55 V4 testdata/Builtins.lc 431:57-431:68 Nat -> List ImageSemantics -> Type testdata/Builtins.lc 431:57-431:70 List ImageSemantics -> Type testdata/Builtins.lc 431:57-431:72 Type testdata/Builtins.lc 431:57-431:74 Type->Type testdata/Builtins.lc 431:57-431:90 Type testdata/Builtins.lc 431:57-431:115 Type testdata/Builtins.lc 431:69-431:70 V4 testdata/Builtins.lc 431:71-431:72 List ImageSemantics testdata/Builtins.lc 431:73-431:74 {a} -> a -> a->Type testdata/Builtins.lc 431:75-431:88 Type->Type testdata/Builtins.lc 431:75-431:90 Type testdata/Builtins.lc 431:89-431:90 Type testdata/Builtins.lc 431:95-431:96 Type testdata/Builtins.lc 431:95-431:115 Type testdata/Builtins.lc 431:100-431:111 Nat -> List ImageSemantics -> Type testdata/Builtins.lc 431:100-431:113 List ImageSemantics -> Type testdata/Builtins.lc 431:100-431:115 Type testdata/Builtins.lc 431:112-431:113 Nat testdata/Builtins.lc 431:114-431:115 List ImageSemantics testdata/Builtins.lc 433:1-433:11 {a : List ImageSemantics} -> {b:Nat} -> {c} -> FragOps a -> (c -> 'remSemantics' a) -> List (Vector b (Maybe (SimpleFragment c))) -> FrameBuffer b a -> FrameBuffer b a testdata/Builtins.lc 433:34-433:44 {a : List ImageSemantics} -> {b:Nat} -> FragOps a -> FragmentStream b ('remSemantics' a) -> FrameBuffer b a -> FrameBuffer b a testdata/Builtins.lc 433:34-433:48 FragmentStream V0 ('remSemantics' V1) -> FrameBuffer V1 V2 -> FrameBuffer V2 V3 testdata/Builtins.lc 433:34-433:76 FrameBuffer V1 V2 -> FrameBuffer V2 V3 testdata/Builtins.lc 433:34-433:79 FrameBuffer V1 V2 testdata/Builtins.lc 433:45-433:48 V9 testdata/Builtins.lc 433:49-433:76 List (Vector V1 (Maybe (SimpleFragment ('remSemantics' V2)))) testdata/Builtins.lc 433:50-433:62 {a} -> {b} -> {c:Nat} -> a->b -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b))) testdata/Builtins.lc 433:50-433:70 List (Vector V0 (Maybe (SimpleFragment V2))) -> List (Vector V1 (Maybe (SimpleFragment V2))) testdata/Builtins.lc 433:63-433:70 V10 testdata/Builtins.lc 433:71-433:75 V6 testdata/Builtins.lc 433:77-433:79 V4 testdata/Builtins.lc 435:1-435:20 {a} -> a->a testdata/Builtins.lc 435:25-435:26 V1 testdata/Builtins.lc 438:1-438:9 {a:ImageSemantics} -> FrameBuffer 1 ('Cons a 'Nil) -> Image 1 a testdata/Builtins.lc 438:24-438:35 Nat -> List ImageSemantics -> Type testdata/Builtins.lc 438:24-438:37 List ImageSemantics -> Type testdata/Builtins.lc 438:24-438:42 Type testdata/Builtins.lc 438:24-438:55 Type testdata/Builtins.lc 438:36-438:37 V1 testdata/Builtins.lc 438:38-438:42 List ImageSemantics testdata/Builtins.lc 438:40-438:41 V2 testdata/Builtins.lc 438:46-438:51 Nat -> ImageSemantics->Type testdata/Builtins.lc 438:46-438:53 ImageSemantics->Type testdata/Builtins.lc 438:46-438:55 Type testdata/Builtins.lc 438:52-438:53 V1 testdata/Builtins.lc 438:54-438:55 ImageSemantics testdata/Builtins.lc 439:1-439:14 FrameBuffer 1 ('Cons ('Depth Float) ('Cons ('Color (Vec 4 Float)) 'Nil)) -> Image 1 ('Color (Vec 4 Float)) testdata/Builtins.lc 439:24-439:35 Nat -> List ImageSemantics -> Type testdata/Builtins.lc 439:24-439:37 List ImageSemantics -> Type testdata/Builtins.lc 439:24-439:75 Type testdata/Builtins.lc 439:36-439:37 V1 testdata/Builtins.lc 439:38-439:75 List ImageSemantics testdata/Builtins.lc 439:40-439:45 Type->ImageSemantics testdata/Builtins.lc 439:40-439:52 ImageSemantics testdata/Builtins.lc 439:46-439:52 Type testdata/Builtins.lc 439:54-439:59 Type->ImageSemantics testdata/Builtins.lc 439:54-439:74 ImageSemantics | List ImageSemantics testdata/Builtins.lc 439:60-439:74 Type testdata/Builtins.lc 439:62-439:65 Nat -> Type->Type testdata/Builtins.lc 439:62-439:67 Type->Type testdata/Builtins.lc 439:66-439:67 V1 testdata/Builtins.lc 439:68-439:73 Type testdata/Builtins.lc 439:79-439:84 Nat -> ImageSemantics->Type testdata/Builtins.lc 439:79-439:86 ImageSemantics->Type testdata/Builtins.lc 439:79-439:108 Type testdata/Builtins.lc 439:85-439:86 V1 testdata/Builtins.lc 439:87-439:108 ImageSemantics testdata/Builtins.lc 439:88-439:93 Type->ImageSemantics testdata/Builtins.lc 439:94-439:107 Type testdata/Builtins.lc 439:95-439:98 Nat -> Type->Type testdata/Builtins.lc 439:95-439:100 Type->Type testdata/Builtins.lc 439:99-439:100 V1 testdata/Builtins.lc 439:101-439:106 Type testdata/Builtins.lc 441:6-441:12 Type testdata/Builtins.lc 441:6-442:12 Type testdata/Builtins.lc 442:3-442:12 Output | Type | {a:Nat} -> {b : List ImageSemantics} -> FrameBuffer a b -> Output testdata/Builtins.lc 442:26-442:37 Nat -> List ImageSemantics -> Type testdata/Builtins.lc 442:26-442:39 List ImageSemantics -> Type testdata/Builtins.lc 442:26-442:41 Type testdata/Builtins.lc 442:26-442:51 Type testdata/Builtins.lc 442:38-442:39 V3 testdata/Builtins.lc 442:40-442:41 V1 testdata/Builtins.lc 442:45-442:51 Type testdata/Builtins.lc 448:1-448:8 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a testdata/Builtins.lc 448:10-448:17 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a testdata/Builtins.lc 448:19-448:26 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a testdata/Builtins.lc 448:34-448:37 Type->Type testdata/Builtins.lc 448:34-448:58 Type testdata/Builtins.lc 448:34-448:73 Type testdata/Builtins.lc 448:38-448:58 Type testdata/Builtins.lc 448:39-448:55 Type->Type testdata/Builtins.lc 448:56-448:57 V1 testdata/Builtins.lc 448:62-448:63 Type testdata/Builtins.lc 448:62-448:73 Type testdata/Builtins.lc 448:67-448:68 Type testdata/Builtins.lc 448:67-448:73 Type testdata/Builtins.lc 448:72-448:73 Type testdata/Builtins.lc 449:1-449:9 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b testdata/Builtins.lc 449:11-449:19 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b testdata/Builtins.lc 449:21-449:29 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b testdata/Builtins.lc 449:34-449:80 Type testdata/Builtins.lc 449:35-449:36 V4 testdata/Builtins.lc 449:35-449:38 V3->Type testdata/Builtins.lc 449:35-449:57 Type testdata/Builtins.lc 449:37-449:38 {a} -> a -> a->Type testdata/Builtins.lc 449:39-449:55 Type->Type testdata/Builtins.lc 449:39-449:57 Type testdata/Builtins.lc 449:56-449:57 V1 testdata/Builtins.lc 449:59-449:62 Type->Type testdata/Builtins.lc 449:59-449:64 Type testdata/Builtins.lc 449:59-449:80 Type testdata/Builtins.lc 449:63-449:64 Type testdata/Builtins.lc 449:69-449:70 Type testdata/Builtins.lc 449:69-449:80 Type testdata/Builtins.lc 449:74-449:75 Type testdata/Builtins.lc 449:74-449:80 Type testdata/Builtins.lc 449:79-449:80 Type testdata/Builtins.lc 450:1-450:8 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b testdata/Builtins.lc 450:10-450:17 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b testdata/Builtins.lc 450:34-450:75 Type testdata/Builtins.lc 450:35-450:38 Type->Type testdata/Builtins.lc 450:35-450:40 Type testdata/Builtins.lc 450:39-450:40 V5 testdata/Builtins.lc 450:42-450:43 V5 testdata/Builtins.lc 450:42-450:45 V4->Type testdata/Builtins.lc 450:42-450:59 Type testdata/Builtins.lc 450:42-450:75 Type testdata/Builtins.lc 450:44-450:45 {a} -> a -> a->Type testdata/Builtins.lc 450:46-450:55 Nat -> Type->Type testdata/Builtins.lc 450:46-450:57 Type->Type testdata/Builtins.lc 450:46-450:59 Type testdata/Builtins.lc 450:56-450:57 V2 testdata/Builtins.lc 450:58-450:59 Type testdata/Builtins.lc 450:64-450:65 Type testdata/Builtins.lc 450:64-450:75 Type testdata/Builtins.lc 450:69-450:70 Type testdata/Builtins.lc 450:69-450:75 Type testdata/Builtins.lc 450:74-450:75 Type testdata/Builtins.lc 451:1-451:9 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b testdata/Builtins.lc 451:11-451:19 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b testdata/Builtins.lc 451:34-451:75 Type testdata/Builtins.lc 451:35-451:38 Type->Type testdata/Builtins.lc 451:35-451:40 Type testdata/Builtins.lc 451:39-451:40 V5 testdata/Builtins.lc 451:42-451:43 V5 testdata/Builtins.lc 451:42-451:45 V4->Type testdata/Builtins.lc 451:42-451:59 Type testdata/Builtins.lc 451:42-451:75 Type testdata/Builtins.lc 451:44-451:45 {a} -> a -> a->Type testdata/Builtins.lc 451:46-451:55 Nat -> Type->Type testdata/Builtins.lc 451:46-451:57 Type->Type testdata/Builtins.lc 451:46-451:59 Type testdata/Builtins.lc 451:56-451:57 V2 testdata/Builtins.lc 451:58-451:59 Type testdata/Builtins.lc 451:64-451:65 Type testdata/Builtins.lc 451:64-451:75 Type testdata/Builtins.lc 451:69-451:70 Type testdata/Builtins.lc 451:69-451:75 Type testdata/Builtins.lc 451:74-451:75 Type testdata/Builtins.lc 452:1-452:8 {a} -> {b : Signed (MatVecScalarElem a)} -> a->a testdata/Builtins.lc 452:34-452:40 Type->Type testdata/Builtins.lc 452:34-452:61 Type testdata/Builtins.lc 452:34-452:71 Type testdata/Builtins.lc 452:41-452:61 Type testdata/Builtins.lc 452:42-452:58 Type->Type testdata/Builtins.lc 452:59-452:60 V1 testdata/Builtins.lc 452:65-452:66 Type testdata/Builtins.lc 452:65-452:71 Type testdata/Builtins.lc 452:70-452:71 Type testdata/Builtins.lc 454:1-454:9 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b testdata/Builtins.lc 454:11-454:18 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b testdata/Builtins.lc 454:20-454:28 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b testdata/Builtins.lc 454:34-454:80 Type testdata/Builtins.lc 454:35-454:43 Type->Type testdata/Builtins.lc 454:35-454:45 Type testdata/Builtins.lc 454:44-454:45 V5 testdata/Builtins.lc 454:47-454:48 V5 testdata/Builtins.lc 454:47-454:50 V4->Type testdata/Builtins.lc 454:47-454:64 Type testdata/Builtins.lc 454:47-454:80 Type testdata/Builtins.lc 454:49-454:50 {a} -> a -> a->Type testdata/Builtins.lc 454:51-454:60 Nat -> Type->Type testdata/Builtins.lc 454:51-454:62 Type->Type testdata/Builtins.lc 454:51-454:64 Type testdata/Builtins.lc 454:61-454:62 V2 testdata/Builtins.lc 454:63-454:64 Type testdata/Builtins.lc 454:69-454:70 Type testdata/Builtins.lc 454:69-454:80 Type testdata/Builtins.lc 454:74-454:75 Type testdata/Builtins.lc 454:74-454:80 Type testdata/Builtins.lc 454:79-454:80 Type testdata/Builtins.lc 455:1-455:10 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b testdata/Builtins.lc 455:12-455:20 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b testdata/Builtins.lc 455:22-455:31 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b testdata/Builtins.lc 455:34-455:80 Type testdata/Builtins.lc 455:35-455:43 Type->Type testdata/Builtins.lc 455:35-455:45 Type testdata/Builtins.lc 455:44-455:45 V5 testdata/Builtins.lc 455:47-455:48 V5 testdata/Builtins.lc 455:47-455:50 V4->Type testdata/Builtins.lc 455:47-455:64 Type testdata/Builtins.lc 455:47-455:80 Type testdata/Builtins.lc 455:49-455:50 {a} -> a -> a->Type testdata/Builtins.lc 455:51-455:60 Nat -> Type->Type testdata/Builtins.lc 455:51-455:62 Type->Type testdata/Builtins.lc 455:51-455:64 Type testdata/Builtins.lc 455:61-455:62 V2 testdata/Builtins.lc 455:63-455:64 Type testdata/Builtins.lc 455:69-455:70 Type testdata/Builtins.lc 455:69-455:80 Type testdata/Builtins.lc 455:74-455:75 Type testdata/Builtins.lc 455:74-455:80 Type testdata/Builtins.lc 455:79-455:80 Type testdata/Builtins.lc 456:1-456:9 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b->b testdata/Builtins.lc 456:34-456:75 Type testdata/Builtins.lc 456:35-456:43 Type->Type testdata/Builtins.lc 456:35-456:45 Type testdata/Builtins.lc 456:44-456:45 V5 testdata/Builtins.lc 456:47-456:48 V5 testdata/Builtins.lc 456:47-456:50 V4->Type testdata/Builtins.lc 456:47-456:64 Type testdata/Builtins.lc 456:47-456:75 Type testdata/Builtins.lc 456:49-456:50 {a} -> a -> a->Type testdata/Builtins.lc 456:51-456:60 Nat -> Type->Type testdata/Builtins.lc 456:51-456:62 Type->Type testdata/Builtins.lc 456:51-456:64 Type testdata/Builtins.lc 456:61-456:62 V2 testdata/Builtins.lc 456:63-456:64 Type testdata/Builtins.lc 456:69-456:70 Type testdata/Builtins.lc 456:69-456:75 Type testdata/Builtins.lc 456:74-456:75 Type testdata/Builtins.lc 457:1-457:12 {a} -> {b} -> {c:Nat} -> {d} -> {e : Integral a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Word} -> b -> d->b testdata/Builtins.lc 457:14-457:25 {a} -> {b} -> {c:Nat} -> {d} -> {e : Integral a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Word} -> b -> d->b testdata/Builtins.lc 457:34-457:102 Type testdata/Builtins.lc 457:35-457:43 Type->Type testdata/Builtins.lc 457:35-457:45 Type testdata/Builtins.lc 457:44-457:45 V7 testdata/Builtins.lc 457:47-457:48 V7 testdata/Builtins.lc 457:47-457:50 V6->Type testdata/Builtins.lc 457:47-457:64 Type testdata/Builtins.lc 457:47-457:102 Type testdata/Builtins.lc 457:49-457:50 {a} -> a -> a->Type testdata/Builtins.lc 457:51-457:60 Nat -> Type->Type testdata/Builtins.lc 457:51-457:62 Type->Type testdata/Builtins.lc 457:51-457:64 Type testdata/Builtins.lc 457:61-457:62 V4 testdata/Builtins.lc 457:63-457:64 Type testdata/Builtins.lc 457:66-457:67 V4 testdata/Builtins.lc 457:66-457:69 V3->Type testdata/Builtins.lc 457:66-457:86 Type testdata/Builtins.lc 457:66-457:102 Type testdata/Builtins.lc 457:68-457:69 {a} -> a -> a->Type testdata/Builtins.lc 457:70-457:79 Nat -> Type->Type testdata/Builtins.lc 457:70-457:81 Type->Type testdata/Builtins.lc 457:70-457:86 Type testdata/Builtins.lc 457:80-457:81 Nat testdata/Builtins.lc 457:82-457:86 Type testdata/Builtins.lc 457:91-457:92 Type testdata/Builtins.lc 457:91-457:102 Type testdata/Builtins.lc 457:96-457:97 Type testdata/Builtins.lc 457:96-457:102 Type testdata/Builtins.lc 457:101-457:102 Type testdata/Builtins.lc 458:1-458:13 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> Word->b testdata/Builtins.lc 458:15-458:27 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> Word->b testdata/Builtins.lc 458:34-458:83 Type testdata/Builtins.lc 458:35-458:43 Type->Type testdata/Builtins.lc 458:35-458:45 Type testdata/Builtins.lc 458:44-458:45 V5 testdata/Builtins.lc 458:47-458:48 V5 testdata/Builtins.lc 458:47-458:50 V4->Type testdata/Builtins.lc 458:47-458:64 Type testdata/Builtins.lc 458:47-458:83 Type testdata/Builtins.lc 458:49-458:50 {a} -> a -> a->Type testdata/Builtins.lc 458:51-458:60 Nat -> Type->Type testdata/Builtins.lc 458:51-458:62 Type->Type testdata/Builtins.lc 458:51-458:64 Type testdata/Builtins.lc 458:61-458:62 V2 testdata/Builtins.lc 458:63-458:64 Type testdata/Builtins.lc 458:69-458:70 Type testdata/Builtins.lc 458:69-458:83 Type testdata/Builtins.lc 458:74-458:78 Type testdata/Builtins.lc 458:74-458:83 Type testdata/Builtins.lc 458:82-458:83 Type testdata/Builtins.lc 460:1-460:8 Bool -> Bool->Bool testdata/Builtins.lc 460:10-460:16 Bool -> Bool->Bool testdata/Builtins.lc 460:18-460:25 Bool -> Bool->Bool testdata/Builtins.lc 460:34-460:38 Type testdata/Builtins.lc 460:42-460:46 Type testdata/Builtins.lc 460:42-460:54 Type testdata/Builtins.lc 460:50-460:54 Type testdata/Builtins.lc 461:1-461:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Bool} -> a->a testdata/Builtins.lc 461:47-461:69 Type testdata/Builtins.lc 461:47-461:79 Type testdata/Builtins.lc 461:48-461:49 V4 testdata/Builtins.lc 461:48-461:51 V3->Type testdata/Builtins.lc 461:50-461:51 {a} -> a -> a->Type testdata/Builtins.lc 461:52-461:61 Nat -> Type->Type testdata/Builtins.lc 461:52-461:63 Type->Type testdata/Builtins.lc 461:52-461:68 Type testdata/Builtins.lc 461:62-461:63 V1 testdata/Builtins.lc 461:64-461:68 Type testdata/Builtins.lc 461:73-461:74 Type testdata/Builtins.lc 461:73-461:79 Type testdata/Builtins.lc 461:78-461:79 Type testdata/Builtins.lc 462:1-462:8 {a:Nat} -> VecScalar a Bool -> Bool testdata/Builtins.lc 462:10-462:17 {a:Nat} -> VecScalar a Bool -> Bool testdata/Builtins.lc 462:34-462:43 Nat -> Type->Type testdata/Builtins.lc 462:34-462:45 Type->Type testdata/Builtins.lc 462:34-462:50 Type testdata/Builtins.lc 462:34-462:58 Type testdata/Builtins.lc 462:44-462:45 V1 testdata/Builtins.lc 462:46-462:50 Type testdata/Builtins.lc 462:54-462:58 Type testdata/Builtins.lc 465:1-465:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:11-465:20 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:22-465:30 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:32-465:41 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:43-465:51 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:53-465:62 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:64-465:71 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:73-465:81 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:83-465:94 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:96-465:107 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:109-465:116 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:118-465:126 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:128-465:135 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:137-465:145 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:147-465:154 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:156-465:163 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:165-465:173 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:175-465:183 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:185-465:193 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 465:195-465:206 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 466:34-466:57 Type testdata/Builtins.lc 466:34-466:67 Type testdata/Builtins.lc 466:35-466:36 V4 testdata/Builtins.lc 466:35-466:38 V3->Type testdata/Builtins.lc 466:37-466:38 {a} -> a -> a->Type testdata/Builtins.lc 466:39-466:48 Nat -> Type->Type testdata/Builtins.lc 466:39-466:50 Type->Type testdata/Builtins.lc 466:39-466:56 Type testdata/Builtins.lc 466:49-466:50 V1 testdata/Builtins.lc 466:51-466:56 Type testdata/Builtins.lc 466:61-466:62 Type testdata/Builtins.lc 466:61-466:67 Type testdata/Builtins.lc 466:66-466:67 Type testdata/Builtins.lc 467:1-467:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a testdata/Builtins.lc 467:10-467:19 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a testdata/Builtins.lc 467:34-467:57 Type testdata/Builtins.lc 467:34-467:72 Type testdata/Builtins.lc 467:35-467:36 V4 testdata/Builtins.lc 467:35-467:38 V3->Type testdata/Builtins.lc 467:37-467:38 {a} -> a -> a->Type testdata/Builtins.lc 467:39-467:48 Nat -> Type->Type testdata/Builtins.lc 467:39-467:50 Type->Type testdata/Builtins.lc 467:39-467:56 Type testdata/Builtins.lc 467:49-467:50 V1 testdata/Builtins.lc 467:51-467:56 Type testdata/Builtins.lc 467:61-467:62 Type testdata/Builtins.lc 467:61-467:72 Type testdata/Builtins.lc 467:66-467:67 Type testdata/Builtins.lc 467:66-467:72 Type testdata/Builtins.lc 467:71-467:72 Type testdata/Builtins.lc 469:1-469:10 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 469:12-469:21 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 469:23-469:32 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 469:34-469:47 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 469:49-469:57 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 469:59-469:68 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 470:34-470:57 Type testdata/Builtins.lc 470:34-470:67 Type testdata/Builtins.lc 470:35-470:36 V4 testdata/Builtins.lc 470:35-470:38 V3->Type testdata/Builtins.lc 470:37-470:38 {a} -> a -> a->Type testdata/Builtins.lc 470:39-470:48 Nat -> Type->Type testdata/Builtins.lc 470:39-470:50 Type->Type testdata/Builtins.lc 470:39-470:56 Type testdata/Builtins.lc 470:49-470:50 V1 testdata/Builtins.lc 470:51-470:56 Type testdata/Builtins.lc 470:61-470:62 Type testdata/Builtins.lc 470:61-470:67 Type testdata/Builtins.lc 470:66-470:67 Type testdata/Builtins.lc 471:1-471:8 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b testdata/Builtins.lc 471:10-471:17 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b testdata/Builtins.lc 471:34-471:75 Type testdata/Builtins.lc 471:35-471:38 Type->Type testdata/Builtins.lc 471:35-471:40 Type testdata/Builtins.lc 471:39-471:40 V5 testdata/Builtins.lc 471:42-471:43 V5 testdata/Builtins.lc 471:42-471:45 V4->Type testdata/Builtins.lc 471:42-471:59 Type testdata/Builtins.lc 471:42-471:75 Type testdata/Builtins.lc 471:44-471:45 {a} -> a -> a->Type testdata/Builtins.lc 471:46-471:55 Nat -> Type->Type testdata/Builtins.lc 471:46-471:57 Type->Type testdata/Builtins.lc 471:46-471:59 Type testdata/Builtins.lc 471:56-471:57 V2 testdata/Builtins.lc 471:58-471:59 Type testdata/Builtins.lc 471:64-471:65 Type testdata/Builtins.lc 471:64-471:75 Type testdata/Builtins.lc 471:69-471:70 Type testdata/Builtins.lc 471:69-471:75 Type testdata/Builtins.lc 471:74-471:75 Type testdata/Builtins.lc 472:1-472:9 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b testdata/Builtins.lc 472:11-472:19 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b testdata/Builtins.lc 472:34-472:75 Type testdata/Builtins.lc 472:35-472:38 Type->Type testdata/Builtins.lc 472:35-472:40 Type testdata/Builtins.lc 472:39-472:40 V5 testdata/Builtins.lc 472:42-472:43 V5 testdata/Builtins.lc 472:42-472:45 V4->Type testdata/Builtins.lc 472:42-472:59 Type testdata/Builtins.lc 472:42-472:75 Type testdata/Builtins.lc 472:44-472:45 {a} -> a -> a->Type testdata/Builtins.lc 472:46-472:55 Nat -> Type->Type testdata/Builtins.lc 472:46-472:57 Type->Type testdata/Builtins.lc 472:46-472:59 Type testdata/Builtins.lc 472:56-472:57 V2 testdata/Builtins.lc 472:58-472:59 Type testdata/Builtins.lc 472:64-472:65 Type testdata/Builtins.lc 472:64-472:75 Type testdata/Builtins.lc 472:69-472:70 Type testdata/Builtins.lc 472:69-472:75 Type testdata/Builtins.lc 472:74-472:75 Type testdata/Builtins.lc 473:1-473:10 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a->c testdata/Builtins.lc 473:12-473:21 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a->c testdata/Builtins.lc 473:34-473:89 Type testdata/Builtins.lc 473:35-473:36 V6 testdata/Builtins.lc 473:35-473:38 V5->Type testdata/Builtins.lc 473:35-473:56 Type testdata/Builtins.lc 473:37-473:38 {a} -> a -> a->Type testdata/Builtins.lc 473:39-473:48 Nat -> Type->Type testdata/Builtins.lc 473:39-473:50 Type->Type testdata/Builtins.lc 473:39-473:56 Type testdata/Builtins.lc 473:49-473:50 V3 testdata/Builtins.lc 473:51-473:56 Type testdata/Builtins.lc 473:58-473:59 V3 testdata/Builtins.lc 473:58-473:61 V2->Type testdata/Builtins.lc 473:58-473:78 Type testdata/Builtins.lc 473:58-473:89 Type testdata/Builtins.lc 473:60-473:61 {a} -> a -> a->Type testdata/Builtins.lc 473:62-473:71 Nat -> Type->Type testdata/Builtins.lc 473:62-473:73 Type->Type testdata/Builtins.lc 473:62-473:78 Type testdata/Builtins.lc 473:72-473:73 Nat testdata/Builtins.lc 473:74-473:78 Type testdata/Builtins.lc 473:83-473:84 Type testdata/Builtins.lc 473:83-473:89 Type testdata/Builtins.lc 473:88-473:89 Type testdata/Builtins.lc 474:1-474:8 {a} -> {b} -> {c:Nat} -> {d : Signed a} -> {e : b ~ VecScalar c a} -> b->b testdata/Builtins.lc 474:10-474:18 {a} -> {b} -> {c:Nat} -> {d : Signed a} -> {e : b ~ VecScalar c a} -> b->b testdata/Builtins.lc 474:34-474:73 Type testdata/Builtins.lc 474:35-474:41 Type->Type testdata/Builtins.lc 474:35-474:43 Type testdata/Builtins.lc 474:42-474:43 V5 testdata/Builtins.lc 474:45-474:46 V5 testdata/Builtins.lc 474:45-474:48 V4->Type testdata/Builtins.lc 474:45-474:62 Type testdata/Builtins.lc 474:45-474:73 Type testdata/Builtins.lc 474:47-474:48 {a} -> a -> a->Type testdata/Builtins.lc 474:49-474:58 Nat -> Type->Type testdata/Builtins.lc 474:49-474:60 Type->Type testdata/Builtins.lc 474:49-474:62 Type testdata/Builtins.lc 474:59-474:60 V2 testdata/Builtins.lc 474:61-474:62 Type testdata/Builtins.lc 474:67-474:68 Type testdata/Builtins.lc 474:67-474:73 Type testdata/Builtins.lc 474:72-474:73 Type testdata/Builtins.lc 475:1-475:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> Tuple2 a a testdata/Builtins.lc 475:34-475:57 Type testdata/Builtins.lc 475:34-475:72 Type testdata/Builtins.lc 475:35-475:36 V4 testdata/Builtins.lc 475:35-475:38 V3->Type testdata/Builtins.lc 475:37-475:38 {a} -> a -> a->Type testdata/Builtins.lc 475:39-475:48 Nat -> Type->Type testdata/Builtins.lc 475:39-475:50 Type->Type testdata/Builtins.lc 475:39-475:56 Type testdata/Builtins.lc 475:49-475:50 V1 testdata/Builtins.lc 475:51-475:56 Type testdata/Builtins.lc 475:61-475:62 Type testdata/Builtins.lc 475:61-475:72 Type testdata/Builtins.lc 475:66-475:72 Type testdata/Builtins.lc 475:67-475:68 Type testdata/Builtins.lc 475:70-475:71 Type testdata/Builtins.lc 476:1-476:10 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b -> b->b testdata/Builtins.lc 476:34-476:80 Type testdata/Builtins.lc 476:35-476:38 Type->Type testdata/Builtins.lc 476:35-476:40 Type testdata/Builtins.lc 476:39-476:40 V5 testdata/Builtins.lc 476:42-476:43 V5 testdata/Builtins.lc 476:42-476:45 V4->Type testdata/Builtins.lc 476:42-476:59 Type testdata/Builtins.lc 476:42-476:80 Type testdata/Builtins.lc 476:44-476:45 {a} -> a -> a->Type testdata/Builtins.lc 476:46-476:55 Nat -> Type->Type testdata/Builtins.lc 476:46-476:57 Type->Type testdata/Builtins.lc 476:46-476:59 Type testdata/Builtins.lc 476:56-476:57 V2 testdata/Builtins.lc 476:58-476:59 Type testdata/Builtins.lc 476:64-476:65 Type testdata/Builtins.lc 476:64-476:80 Type testdata/Builtins.lc 476:69-476:70 Type testdata/Builtins.lc 476:69-476:80 Type testdata/Builtins.lc 476:74-476:75 Type testdata/Builtins.lc 476:74-476:80 Type testdata/Builtins.lc 476:79-476:80 Type testdata/Builtins.lc 477:1-477:11 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a -> a->b testdata/Builtins.lc 477:34-477:80 Type testdata/Builtins.lc 477:35-477:38 Type->Type testdata/Builtins.lc 477:35-477:40 Type testdata/Builtins.lc 477:39-477:40 V5 testdata/Builtins.lc 477:42-477:43 V5 testdata/Builtins.lc 477:42-477:45 V4->Type testdata/Builtins.lc 477:42-477:59 Type testdata/Builtins.lc 477:42-477:80 Type testdata/Builtins.lc 477:44-477:45 {a} -> a -> a->Type testdata/Builtins.lc 477:46-477:55 Nat -> Type->Type testdata/Builtins.lc 477:46-477:57 Type->Type testdata/Builtins.lc 477:46-477:59 Type testdata/Builtins.lc 477:56-477:57 V2 testdata/Builtins.lc 477:58-477:59 Type testdata/Builtins.lc 477:64-477:65 Type testdata/Builtins.lc 477:64-477:80 Type testdata/Builtins.lc 477:69-477:70 Type testdata/Builtins.lc 477:69-477:80 Type testdata/Builtins.lc 477:74-477:75 Type testdata/Builtins.lc 477:74-477:80 Type testdata/Builtins.lc 477:79-477:80 Type testdata/Builtins.lc 478:1-478:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a testdata/Builtins.lc 478:34-478:57 Type testdata/Builtins.lc 478:34-478:77 Type testdata/Builtins.lc 478:35-478:36 V4 testdata/Builtins.lc 478:35-478:38 V3->Type testdata/Builtins.lc 478:37-478:38 {a} -> a -> a->Type testdata/Builtins.lc 478:39-478:48 Nat -> Type->Type testdata/Builtins.lc 478:39-478:50 Type->Type testdata/Builtins.lc 478:39-478:56 Type testdata/Builtins.lc 478:49-478:50 V1 testdata/Builtins.lc 478:51-478:56 Type testdata/Builtins.lc 478:61-478:62 Type testdata/Builtins.lc 478:61-478:77 Type testdata/Builtins.lc 478:66-478:67 Type testdata/Builtins.lc 478:66-478:77 Type testdata/Builtins.lc 478:71-478:72 Type testdata/Builtins.lc 478:71-478:77 Type testdata/Builtins.lc 478:76-478:77 Type testdata/Builtins.lc 479:1-479:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> Float->a testdata/Builtins.lc 479:34-479:57 Type testdata/Builtins.lc 479:34-479:81 Type testdata/Builtins.lc 479:35-479:36 V4 testdata/Builtins.lc 479:35-479:38 V3->Type testdata/Builtins.lc 479:37-479:38 {a} -> a -> a->Type testdata/Builtins.lc 479:39-479:48 Nat -> Type->Type testdata/Builtins.lc 479:39-479:50 Type->Type testdata/Builtins.lc 479:39-479:56 Type testdata/Builtins.lc 479:49-479:50 V1 testdata/Builtins.lc 479:51-479:56 Type testdata/Builtins.lc 479:61-479:62 Type testdata/Builtins.lc 479:61-479:81 Type testdata/Builtins.lc 479:66-479:67 Type testdata/Builtins.lc 479:66-479:81 Type testdata/Builtins.lc 479:71-479:76 Type testdata/Builtins.lc 479:71-479:81 Type testdata/Builtins.lc 479:80-479:81 Type testdata/Builtins.lc 480:1-480:9 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a -> a -> c->a testdata/Builtins.lc 480:34-480:99 Type testdata/Builtins.lc 480:35-480:36 V6 testdata/Builtins.lc 480:35-480:38 V5->Type testdata/Builtins.lc 480:35-480:56 Type testdata/Builtins.lc 480:37-480:38 {a} -> a -> a->Type testdata/Builtins.lc 480:39-480:48 Nat -> Type->Type testdata/Builtins.lc 480:39-480:50 Type->Type testdata/Builtins.lc 480:39-480:56 Type testdata/Builtins.lc 480:49-480:50 V3 testdata/Builtins.lc 480:51-480:56 Type testdata/Builtins.lc 480:58-480:59 V3 testdata/Builtins.lc 480:58-480:61 V2->Type testdata/Builtins.lc 480:58-480:78 Type testdata/Builtins.lc 480:58-480:99 Type testdata/Builtins.lc 480:60-480:61 {a} -> a -> a->Type testdata/Builtins.lc 480:62-480:71 Nat -> Type->Type testdata/Builtins.lc 480:62-480:73 Type->Type testdata/Builtins.lc 480:62-480:78 Type testdata/Builtins.lc 480:72-480:73 Nat testdata/Builtins.lc 480:74-480:78 Type testdata/Builtins.lc 480:83-480:84 Type testdata/Builtins.lc 480:83-480:99 Type testdata/Builtins.lc 480:88-480:89 Type testdata/Builtins.lc 480:88-480:99 Type testdata/Builtins.lc 480:93-480:94 Type testdata/Builtins.lc 480:93-480:99 Type testdata/Builtins.lc 480:98-480:99 Type testdata/Builtins.lc 481:1-481:9 {a} -> {b:Nat} -> {c : a ~ VecS Float b} -> a -> a->a testdata/Builtins.lc 481:34-481:53 Type testdata/Builtins.lc 481:34-481:68 Type testdata/Builtins.lc 481:35-481:36 V4 testdata/Builtins.lc 481:35-481:38 V3->Type testdata/Builtins.lc 481:37-481:38 {a} -> a -> a->Type testdata/Builtins.lc 481:39-481:44 Nat -> Type->Type testdata/Builtins.lc 481:39-481:46 Type->Type testdata/Builtins.lc 481:39-481:52 Type testdata/Builtins.lc 481:45-481:46 V1 testdata/Builtins.lc 481:47-481:52 Type testdata/Builtins.lc 481:57-481:58 Type testdata/Builtins.lc 481:57-481:68 Type testdata/Builtins.lc 481:62-481:63 Type testdata/Builtins.lc 481:62-481:68 Type testdata/Builtins.lc 481:67-481:68 Type testdata/Builtins.lc 482:1-482:10 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> Float -> a->a testdata/Builtins.lc 482:34-482:57 Type testdata/Builtins.lc 482:34-482:76 Type testdata/Builtins.lc 482:35-482:36 V4 testdata/Builtins.lc 482:35-482:38 V3->Type testdata/Builtins.lc 482:37-482:38 {a} -> a -> a->Type testdata/Builtins.lc 482:39-482:48 Nat -> Type->Type testdata/Builtins.lc 482:39-482:50 Type->Type testdata/Builtins.lc 482:39-482:56 Type testdata/Builtins.lc 482:49-482:50 V1 testdata/Builtins.lc 482:51-482:56 Type testdata/Builtins.lc 482:61-482:66 Type testdata/Builtins.lc 482:61-482:76 Type testdata/Builtins.lc 482:70-482:71 Type testdata/Builtins.lc 482:70-482:76 Type testdata/Builtins.lc 482:75-482:76 Type testdata/Builtins.lc 483:1-483:15 {a} -> {b:Nat} -> {c : a ~ VecS Float b} -> a -> a -> a->a testdata/Builtins.lc 483:34-483:53 Type testdata/Builtins.lc 483:34-483:73 Type testdata/Builtins.lc 483:35-483:36 V4 testdata/Builtins.lc 483:35-483:38 V3->Type testdata/Builtins.lc 483:37-483:38 {a} -> a -> a->Type testdata/Builtins.lc 483:39-483:44 Nat -> Type->Type testdata/Builtins.lc 483:39-483:46 Type->Type testdata/Builtins.lc 483:39-483:52 Type testdata/Builtins.lc 483:45-483:46 V1 testdata/Builtins.lc 483:47-483:52 Type testdata/Builtins.lc 483:57-483:58 Type testdata/Builtins.lc 483:57-483:73 Type testdata/Builtins.lc 483:62-483:63 Type testdata/Builtins.lc 483:62-483:73 Type testdata/Builtins.lc 483:67-483:68 Type testdata/Builtins.lc 483:67-483:73 Type testdata/Builtins.lc 483:72-483:73 Type testdata/Builtins.lc 484:1-484:16 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> Float -> Float -> a->a testdata/Builtins.lc 484:34-484:57 Type testdata/Builtins.lc 484:34-484:85 Type testdata/Builtins.lc 484:35-484:36 V4 testdata/Builtins.lc 484:35-484:38 V3->Type testdata/Builtins.lc 484:37-484:38 {a} -> a -> a->Type testdata/Builtins.lc 484:39-484:48 Nat -> Type->Type testdata/Builtins.lc 484:39-484:50 Type->Type testdata/Builtins.lc 484:39-484:56 Type testdata/Builtins.lc 484:49-484:50 V1 testdata/Builtins.lc 484:51-484:56 Type testdata/Builtins.lc 484:61-484:66 Type testdata/Builtins.lc 484:61-484:85 Type testdata/Builtins.lc 484:70-484:75 Type testdata/Builtins.lc 484:70-484:85 Type testdata/Builtins.lc 484:79-484:80 Type testdata/Builtins.lc 484:79-484:85 Type testdata/Builtins.lc 484:84-484:85 Type testdata/Builtins.lc 487:1-487:19 {a:Nat} -> VecScalar a Float -> VecScalar a Int testdata/Builtins.lc 487:34-487:43 Nat -> Type->Type testdata/Builtins.lc 487:34-487:45 Type->Type testdata/Builtins.lc 487:34-487:51 Type testdata/Builtins.lc 487:34-487:70 Type testdata/Builtins.lc 487:44-487:45 V1 testdata/Builtins.lc 487:46-487:51 Type testdata/Builtins.lc 487:55-487:64 Nat -> Type->Type testdata/Builtins.lc 487:55-487:66 Type->Type testdata/Builtins.lc 487:55-487:70 Type testdata/Builtins.lc 487:65-487:66 Nat testdata/Builtins.lc 487:67-487:70 Type testdata/Builtins.lc 488:1-488:20 {a:Nat} -> VecScalar a Float -> VecScalar a Word testdata/Builtins.lc 488:34-488:43 Nat -> Type->Type testdata/Builtins.lc 488:34-488:45 Type->Type testdata/Builtins.lc 488:34-488:51 Type testdata/Builtins.lc 488:34-488:71 Type testdata/Builtins.lc 488:44-488:45 V1 testdata/Builtins.lc 488:46-488:51 Type testdata/Builtins.lc 488:55-488:64 Nat -> Type->Type testdata/Builtins.lc 488:55-488:66 Type->Type testdata/Builtins.lc 488:55-488:71 Type testdata/Builtins.lc 488:65-488:66 Nat testdata/Builtins.lc 488:67-488:71 Type testdata/Builtins.lc 489:1-489:19 {a:Nat} -> VecScalar a Int -> VecScalar a Float testdata/Builtins.lc 489:34-489:43 Nat -> Type->Type testdata/Builtins.lc 489:34-489:45 Type->Type testdata/Builtins.lc 489:34-489:49 Type testdata/Builtins.lc 489:34-489:72 Type testdata/Builtins.lc 489:44-489:45 V1 testdata/Builtins.lc 489:46-489:49 Type testdata/Builtins.lc 489:55-489:64 Nat -> Type->Type testdata/Builtins.lc 489:55-489:66 Type->Type testdata/Builtins.lc 489:55-489:72 Type testdata/Builtins.lc 489:65-489:66 Nat testdata/Builtins.lc 489:67-489:72 Type testdata/Builtins.lc 490:1-490:20 {a:Nat} -> VecScalar a Word -> VecScalar a Float testdata/Builtins.lc 490:34-490:43 Nat -> Type->Type testdata/Builtins.lc 490:34-490:45 Type->Type testdata/Builtins.lc 490:34-490:50 Type testdata/Builtins.lc 490:34-490:72 Type testdata/Builtins.lc 490:44-490:45 V1 testdata/Builtins.lc 490:46-490:50 Type testdata/Builtins.lc 490:55-490:64 Nat -> Type->Type testdata/Builtins.lc 490:55-490:66 Type->Type testdata/Builtins.lc 490:55-490:72 Type testdata/Builtins.lc 490:65-490:66 Nat testdata/Builtins.lc 490:67-490:72 Type testdata/Builtins.lc 492:1-492:11 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->Float testdata/Builtins.lc 492:34-492:57 Type testdata/Builtins.lc 492:34-492:71 Type testdata/Builtins.lc 492:35-492:36 V4 testdata/Builtins.lc 492:35-492:38 V3->Type testdata/Builtins.lc 492:37-492:38 {a} -> a -> a->Type testdata/Builtins.lc 492:39-492:48 Nat -> Type->Type testdata/Builtins.lc 492:39-492:50 Type->Type testdata/Builtins.lc 492:39-492:56 Type testdata/Builtins.lc 492:49-492:50 V1 testdata/Builtins.lc 492:51-492:56 Type testdata/Builtins.lc 492:61-492:62 Type testdata/Builtins.lc 492:61-492:71 Type testdata/Builtins.lc 492:66-492:71 Type testdata/Builtins.lc 493:1-493:13 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->Float testdata/Builtins.lc 493:15-493:22 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->Float testdata/Builtins.lc 493:34-493:57 Type testdata/Builtins.lc 493:34-493:76 Type testdata/Builtins.lc 493:35-493:36 V4 testdata/Builtins.lc 493:35-493:38 V3->Type testdata/Builtins.lc 493:37-493:38 {a} -> a -> a->Type testdata/Builtins.lc 493:39-493:48 Nat -> Type->Type testdata/Builtins.lc 493:39-493:50 Type->Type testdata/Builtins.lc 493:39-493:56 Type testdata/Builtins.lc 493:49-493:50 V1 testdata/Builtins.lc 493:51-493:56 Type testdata/Builtins.lc 493:61-493:62 Type testdata/Builtins.lc 493:61-493:76 Type testdata/Builtins.lc 493:66-493:67 Type testdata/Builtins.lc 493:66-493:76 Type testdata/Builtins.lc 493:71-493:76 Type testdata/Builtins.lc 494:1-494:10 {a} -> {b : a ~ VecS Float 3} -> a -> a->a testdata/Builtins.lc 494:34-494:57 Type testdata/Builtins.lc 494:34-494:72 Type testdata/Builtins.lc 494:35-494:36 V2 testdata/Builtins.lc 494:35-494:38 V1->Type testdata/Builtins.lc 494:37-494:38 {a} -> a -> a->Type testdata/Builtins.lc 494:39-494:48 Nat -> Type->Type testdata/Builtins.lc 494:39-494:50 Type->Type testdata/Builtins.lc 494:39-494:56 Type testdata/Builtins.lc 494:49-494:50 V1 testdata/Builtins.lc 494:51-494:56 Type testdata/Builtins.lc 494:61-494:62 Type testdata/Builtins.lc 494:61-494:72 Type testdata/Builtins.lc 494:66-494:67 Type testdata/Builtins.lc 494:66-494:72 Type testdata/Builtins.lc 494:71-494:72 Type testdata/Builtins.lc 495:1-495:14 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 495:34-495:57 Type testdata/Builtins.lc 495:34-495:67 Type testdata/Builtins.lc 495:35-495:36 V4 testdata/Builtins.lc 495:35-495:38 V3->Type testdata/Builtins.lc 495:37-495:38 {a} -> a -> a->Type testdata/Builtins.lc 495:39-495:48 Nat -> Type->Type testdata/Builtins.lc 495:39-495:50 Type->Type testdata/Builtins.lc 495:39-495:56 Type testdata/Builtins.lc 495:49-495:50 V1 testdata/Builtins.lc 495:51-495:56 Type testdata/Builtins.lc 495:61-495:62 Type testdata/Builtins.lc 495:61-495:67 Type testdata/Builtins.lc 495:66-495:67 Type testdata/Builtins.lc 496:1-496:16 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a testdata/Builtins.lc 496:18-496:29 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a testdata/Builtins.lc 496:34-496:57 Type testdata/Builtins.lc 496:34-496:77 Type testdata/Builtins.lc 496:35-496:36 V4 testdata/Builtins.lc 496:35-496:38 V3->Type testdata/Builtins.lc 496:37-496:38 {a} -> a -> a->Type testdata/Builtins.lc 496:39-496:48 Nat -> Type->Type testdata/Builtins.lc 496:39-496:50 Type->Type testdata/Builtins.lc 496:39-496:56 Type testdata/Builtins.lc 496:49-496:50 V1 testdata/Builtins.lc 496:51-496:56 Type testdata/Builtins.lc 496:61-496:62 Type testdata/Builtins.lc 496:61-496:77 Type testdata/Builtins.lc 496:66-496:67 Type testdata/Builtins.lc 496:66-496:77 Type testdata/Builtins.lc 496:71-496:72 Type testdata/Builtins.lc 496:71-496:77 Type testdata/Builtins.lc 496:76-496:77 Type testdata/Builtins.lc 497:1-497:12 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a testdata/Builtins.lc 497:34-497:57 Type testdata/Builtins.lc 497:34-497:72 Type testdata/Builtins.lc 497:35-497:36 V4 testdata/Builtins.lc 497:35-497:38 V3->Type testdata/Builtins.lc 497:37-497:38 {a} -> a -> a->Type testdata/Builtins.lc 497:39-497:48 Nat -> Type->Type testdata/Builtins.lc 497:39-497:50 Type->Type testdata/Builtins.lc 497:39-497:56 Type testdata/Builtins.lc 497:49-497:50 V1 testdata/Builtins.lc 497:51-497:56 Type testdata/Builtins.lc 497:61-497:62 Type testdata/Builtins.lc 497:61-497:72 Type testdata/Builtins.lc 497:66-497:67 Type testdata/Builtins.lc 497:66-497:72 Type testdata/Builtins.lc 497:71-497:72 Type testdata/Builtins.lc 499:1-499:14 {a:Nat} -> {b:Nat} -> {c} -> Mat a b c -> Mat b a c testdata/Builtins.lc 499:34-499:37 Nat -> Nat -> Type->Type testdata/Builtins.lc 499:34-499:39 Nat -> Type->Type testdata/Builtins.lc 499:34-499:41 Type->Type testdata/Builtins.lc 499:34-499:43 Type testdata/Builtins.lc 499:34-499:56 Type testdata/Builtins.lc 499:38-499:39 V5 testdata/Builtins.lc 499:40-499:41 V3 testdata/Builtins.lc 499:42-499:43 V1 testdata/Builtins.lc 499:47-499:50 Nat -> Nat -> Type->Type testdata/Builtins.lc 499:47-499:52 Nat -> Type->Type testdata/Builtins.lc 499:47-499:54 Type->Type testdata/Builtins.lc 499:47-499:56 Type testdata/Builtins.lc 499:51-499:52 Nat testdata/Builtins.lc 499:53-499:54 Nat testdata/Builtins.lc 499:55-499:56 Type testdata/Builtins.lc 500:1-500:16 {a:Nat} -> {b} -> Mat a a b -> Float testdata/Builtins.lc 500:34-500:37 Nat -> Nat -> Type->Type testdata/Builtins.lc 500:34-500:39 Nat -> Type->Type testdata/Builtins.lc 500:34-500:41 Type->Type testdata/Builtins.lc 500:34-500:43 Type testdata/Builtins.lc 500:34-500:52 Type testdata/Builtins.lc 500:38-500:39 V3 testdata/Builtins.lc 500:40-500:41 Nat testdata/Builtins.lc 500:42-500:43 V1 testdata/Builtins.lc 500:47-500:52 Type testdata/Builtins.lc 501:1-501:12 {a:Nat} -> {b} -> Mat a a b -> Mat a a b testdata/Builtins.lc 501:34-501:37 Nat -> Nat -> Type->Type testdata/Builtins.lc 501:34-501:39 Nat -> Type->Type testdata/Builtins.lc 501:34-501:41 Type->Type testdata/Builtins.lc 501:34-501:43 Type testdata/Builtins.lc 501:34-501:56 Type testdata/Builtins.lc 501:38-501:39 V3 testdata/Builtins.lc 501:40-501:41 Nat testdata/Builtins.lc 501:42-501:43 V1 testdata/Builtins.lc 501:47-501:50 Nat -> Nat -> Type->Type testdata/Builtins.lc 501:47-501:52 Nat -> Type->Type testdata/Builtins.lc 501:47-501:54 Type->Type testdata/Builtins.lc 501:47-501:56 Type testdata/Builtins.lc 501:51-501:52 Nat testdata/Builtins.lc 501:53-501:54 Nat testdata/Builtins.lc 501:55-501:56 Type testdata/Builtins.lc 502:1-502:17 {a:Nat} -> {b} -> {c:Nat} -> Vec a b -> Vec c b -> Mat c a b testdata/Builtins.lc 502:34-502:37 Nat -> Type->Type testdata/Builtins.lc 502:34-502:39 Type->Type testdata/Builtins.lc 502:34-502:41 Type testdata/Builtins.lc 502:34-502:69 Type testdata/Builtins.lc 502:38-502:39 V5 testdata/Builtins.lc 502:40-502:41 V3 testdata/Builtins.lc 502:47-502:50 Nat -> Type->Type testdata/Builtins.lc 502:47-502:52 Type->Type testdata/Builtins.lc 502:47-502:54 Type testdata/Builtins.lc 502:47-502:69 Type testdata/Builtins.lc 502:51-502:52 V2 testdata/Builtins.lc 502:53-502:54 Type testdata/Builtins.lc 502:60-502:63 Nat -> Nat -> Type->Type testdata/Builtins.lc 502:60-502:65 Nat -> Type->Type testdata/Builtins.lc 502:60-502:67 Type->Type testdata/Builtins.lc 502:60-502:69 Type testdata/Builtins.lc 502:64-502:65 Nat testdata/Builtins.lc 502:66-502:67 Nat testdata/Builtins.lc 502:68-502:69 Type testdata/Builtins.lc 503:1-503:14 {a:Nat} -> {b:Nat} -> {c} -> Mat a b c -> Vec b c -> Vec a c testdata/Builtins.lc 503:34-503:37 Nat -> Nat -> Type->Type testdata/Builtins.lc 503:34-503:39 Nat -> Type->Type testdata/Builtins.lc 503:34-503:41 Type->Type testdata/Builtins.lc 503:34-503:43 Type testdata/Builtins.lc 503:34-503:67 Type testdata/Builtins.lc 503:38-503:39 V5 testdata/Builtins.lc 503:40-503:41 V3 testdata/Builtins.lc 503:42-503:43 V1 testdata/Builtins.lc 503:47-503:50 Nat -> Type->Type testdata/Builtins.lc 503:47-503:52 Type->Type testdata/Builtins.lc 503:47-503:54 Type testdata/Builtins.lc 503:47-503:67 Type testdata/Builtins.lc 503:51-503:52 Nat testdata/Builtins.lc 503:53-503:54 Type testdata/Builtins.lc 503:60-503:63 Nat -> Type->Type testdata/Builtins.lc 503:60-503:65 Type->Type testdata/Builtins.lc 503:60-503:67 Type testdata/Builtins.lc 503:64-503:65 Nat testdata/Builtins.lc 503:66-503:67 Type testdata/Builtins.lc 504:1-504:14 {a:Nat} -> {b} -> {c:Nat} -> Vec a b -> Mat a c b -> Vec c b testdata/Builtins.lc 504:34-504:37 Nat -> Type->Type testdata/Builtins.lc 504:34-504:39 Type->Type testdata/Builtins.lc 504:34-504:41 Type testdata/Builtins.lc 504:34-504:67 Type testdata/Builtins.lc 504:38-504:39 V5 testdata/Builtins.lc 504:40-504:41 V3 testdata/Builtins.lc 504:47-504:50 Nat -> Nat -> Type->Type testdata/Builtins.lc 504:47-504:52 Nat -> Type->Type testdata/Builtins.lc 504:47-504:54 Type->Type testdata/Builtins.lc 504:47-504:56 Type testdata/Builtins.lc 504:47-504:67 Type testdata/Builtins.lc 504:51-504:52 Nat testdata/Builtins.lc 504:53-504:54 V2 testdata/Builtins.lc 504:55-504:56 Type testdata/Builtins.lc 504:60-504:63 Nat -> Type->Type testdata/Builtins.lc 504:60-504:65 Type->Type testdata/Builtins.lc 504:60-504:67 Type testdata/Builtins.lc 504:64-504:65 Nat testdata/Builtins.lc 504:66-504:67 Type testdata/Builtins.lc 505:1-505:14 {a:Nat} -> {b:Nat} -> {c} -> {d:Nat} -> Mat a b c -> Mat b d c -> Mat a d c testdata/Builtins.lc 505:34-505:37 Nat -> Nat -> Type->Type testdata/Builtins.lc 505:34-505:39 Nat -> Type->Type testdata/Builtins.lc 505:34-505:41 Type->Type testdata/Builtins.lc 505:34-505:43 Type testdata/Builtins.lc 505:34-505:69 Type testdata/Builtins.lc 505:38-505:39 V7 testdata/Builtins.lc 505:40-505:41 V5 testdata/Builtins.lc 505:42-505:43 V3 testdata/Builtins.lc 505:47-505:50 Nat -> Nat -> Type->Type testdata/Builtins.lc 505:47-505:52 Nat -> Type->Type testdata/Builtins.lc 505:47-505:54 Type->Type testdata/Builtins.lc 505:47-505:56 Type testdata/Builtins.lc 505:47-505:69 Type testdata/Builtins.lc 505:51-505:52 Nat testdata/Builtins.lc 505:53-505:54 V2 testdata/Builtins.lc 505:55-505:56 Type testdata/Builtins.lc 505:60-505:63 Nat -> Nat -> Type->Type testdata/Builtins.lc 505:60-505:65 Nat -> Type->Type testdata/Builtins.lc 505:60-505:67 Type->Type testdata/Builtins.lc 505:60-505:69 Type testdata/Builtins.lc 505:64-505:65 Nat testdata/Builtins.lc 505:66-505:67 Nat testdata/Builtins.lc 505:68-505:69 Type testdata/Builtins.lc 507:1-507:13 {a} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : a ~ VecScalar b c} -> {g : d ~ VecScalar b Bool} -> a -> a->d testdata/Builtins.lc 507:15-507:32 {a} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : a ~ VecScalar b c} -> {g : d ~ VecScalar b Bool} -> a -> a->d testdata/Builtins.lc 507:34-507:49 {a} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : a ~ VecScalar b c} -> {g : d ~ VecScalar b Bool} -> a -> a->d testdata/Builtins.lc 507:51-507:71 {a} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : a ~ VecScalar b c} -> {g : d ~ VecScalar b Bool} -> a -> a->d testdata/Builtins.lc 507:73-507:83 {a} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : a ~ VecScalar b c} -> {g : d ~ VecScalar b Bool} -> a -> a->d testdata/Builtins.lc 507:85-507:98 {a} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : a ~ VecScalar b c} -> {g : d ~ VecScalar b Bool} -> a -> a->d testdata/Builtins.lc 508:51-508:114 Type testdata/Builtins.lc 508:52-508:55 Type->Type testdata/Builtins.lc 508:52-508:57 Type testdata/Builtins.lc 508:56-508:57 V3 testdata/Builtins.lc 508:59-508:60 V8 testdata/Builtins.lc 508:59-508:62 V7->Type testdata/Builtins.lc 508:59-508:76 Type testdata/Builtins.lc 508:59-508:114 Type testdata/Builtins.lc 508:61-508:62 {a} -> a -> a->Type testdata/Builtins.lc 508:63-508:72 Nat -> Type->Type testdata/Builtins.lc 508:63-508:74 Type->Type testdata/Builtins.lc 508:63-508:76 Type testdata/Builtins.lc 508:73-508:74 V5 testdata/Builtins.lc 508:75-508:76 Type testdata/Builtins.lc 508:78-508:79 V4 testdata/Builtins.lc 508:78-508:81 V3->Type testdata/Builtins.lc 508:78-508:98 Type testdata/Builtins.lc 508:78-508:114 Type testdata/Builtins.lc 508:80-508:81 {a} -> a -> a->Type testdata/Builtins.lc 508:82-508:91 Nat -> Type->Type testdata/Builtins.lc 508:82-508:93 Type->Type testdata/Builtins.lc 508:82-508:98 Type testdata/Builtins.lc 508:92-508:93 Nat testdata/Builtins.lc 508:94-508:98 Type testdata/Builtins.lc 508:103-508:104 Type testdata/Builtins.lc 508:103-508:114 Type testdata/Builtins.lc 508:108-508:109 Type testdata/Builtins.lc 508:108-508:114 Type testdata/Builtins.lc 508:113-508:114 Type testdata/Builtins.lc 509:1-509:10 {a} -> {b} -> {c : b ~ MatVecScalarElem a} -> a -> a->Bool testdata/Builtins.lc 509:12-509:24 {a} -> {b} -> {c : b ~ MatVecScalarElem a} -> a -> a->Bool testdata/Builtins.lc 509:47-509:71 Type testdata/Builtins.lc 509:47-509:89 Type testdata/Builtins.lc 509:48-509:49 V2 testdata/Builtins.lc 509:48-509:51 V1->Type testdata/Builtins.lc 509:50-509:51 {a} -> a -> a->Type testdata/Builtins.lc 509:52-509:68 Type->Type testdata/Builtins.lc 509:52-509:70 Type testdata/Builtins.lc 509:69-509:70 V2 testdata/Builtins.lc 509:75-509:76 Type testdata/Builtins.lc 509:75-509:89 Type testdata/Builtins.lc 509:80-509:81 Type testdata/Builtins.lc 509:80-509:89 Type testdata/Builtins.lc 509:85-509:89 Type testdata/Builtins.lc 511:1-511:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 511:11-511:19 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 511:21-511:31 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a testdata/Builtins.lc 512:34-512:57 Type testdata/Builtins.lc 512:34-512:67 Type testdata/Builtins.lc 512:35-512:36 V4 testdata/Builtins.lc 512:35-512:38 V3->Type testdata/Builtins.lc 512:37-512:38 {a} -> a -> a->Type testdata/Builtins.lc 512:39-512:48 Nat -> Type->Type testdata/Builtins.lc 512:39-512:50 Type->Type testdata/Builtins.lc 512:39-512:56 Type testdata/Builtins.lc 512:49-512:50 V1 testdata/Builtins.lc 512:51-512:56 Type testdata/Builtins.lc 512:61-512:62 Type testdata/Builtins.lc 512:61-512:67 Type testdata/Builtins.lc 512:66-512:67 Type testdata/Builtins.lc 514:1-514:11 {a:Nat} -> VecScalar a Float -> Float testdata/Builtins.lc 514:34-514:43 Nat -> Type->Type testdata/Builtins.lc 514:34-514:45 Type->Type testdata/Builtins.lc 514:34-514:51 Type testdata/Builtins.lc 514:34-514:60 Type testdata/Builtins.lc 514:44-514:45 V1 testdata/Builtins.lc 514:46-514:51 Type testdata/Builtins.lc 514:55-514:60 Type testdata/Builtins.lc 515:1-515:11 {a:Nat} -> VecScalar a Float -> Vec 2 Float testdata/Builtins.lc 515:34-515:43 Nat -> Type->Type testdata/Builtins.lc 515:34-515:45 Type->Type testdata/Builtins.lc 515:34-515:51 Type testdata/Builtins.lc 515:34-515:66 Type testdata/Builtins.lc 515:44-515:45 V1 testdata/Builtins.lc 515:46-515:51 Type testdata/Builtins.lc 515:55-515:58 Nat -> Type->Type testdata/Builtins.lc 515:55-515:60 Type->Type testdata/Builtins.lc 515:55-515:66 Type testdata/Builtins.lc 515:59-515:60 V1 testdata/Builtins.lc 515:61-515:66 Type testdata/Builtins.lc 516:1-516:11 {a:Nat} -> VecScalar a Float -> Vec 3 Float testdata/Builtins.lc 516:34-516:43 Nat -> Type->Type testdata/Builtins.lc 516:34-516:45 Type->Type testdata/Builtins.lc 516:34-516:51 Type testdata/Builtins.lc 516:34-516:66 Type testdata/Builtins.lc 516:44-516:45 V1 testdata/Builtins.lc 516:46-516:51 Type testdata/Builtins.lc 516:55-516:58 Nat -> Type->Type testdata/Builtins.lc 516:55-516:60 Type->Type testdata/Builtins.lc 516:55-516:66 Type testdata/Builtins.lc 516:59-516:60 V1 testdata/Builtins.lc 516:61-516:66 Type testdata/Builtins.lc 517:1-517:11 {a:Nat} -> VecScalar a Float -> Vec 4 Float testdata/Builtins.lc 517:34-517:43 Nat -> Type->Type testdata/Builtins.lc 517:34-517:45 Type->Type testdata/Builtins.lc 517:34-517:51 Type testdata/Builtins.lc 517:34-517:66 Type testdata/Builtins.lc 517:44-517:45 V1 testdata/Builtins.lc 517:46-517:51 Type testdata/Builtins.lc 517:55-517:58 Nat -> Type->Type testdata/Builtins.lc 517:55-517:60 Type->Type testdata/Builtins.lc 517:55-517:66 Type testdata/Builtins.lc 517:59-517:60 V1 testdata/Builtins.lc 517:61-517:66 Type testdata/Builtins.lc 533:6-533:13 Type testdata/Builtins.lc 533:6-537:12 Type testdata/Builtins.lc 534:3-534:16 String->Texture | Texture | Type testdata/Builtins.lc 534:20-534:26 Type testdata/Builtins.lc 535:20-535:27 Type testdata/Builtins.lc 537:3-537:12 Texture | Type | Vec 2 Int -> Image 1 ('Color (Vec 4 Float)) -> Texture testdata/Builtins.lc 537:20-537:23 Nat -> Type->Type testdata/Builtins.lc 537:20-537:25 Type->Type testdata/Builtins.lc 537:20-537:29 Type testdata/Builtins.lc 537:24-537:25 V1 testdata/Builtins.lc 537:26-537:29 Type testdata/Builtins.lc 538:20-538:25 Nat -> ImageSemantics->Type testdata/Builtins.lc 538:20-538:27 ImageSemantics->Type testdata/Builtins.lc 538:20-538:49 Type testdata/Builtins.lc 538:20-539:27 Type testdata/Builtins.lc 538:26-538:27 V1 testdata/Builtins.lc 538:28-538:49 ImageSemantics testdata/Builtins.lc 538:29-538:34 Type->ImageSemantics testdata/Builtins.lc 538:35-538:48 Type testdata/Builtins.lc 538:36-538:39 Nat -> Type->Type testdata/Builtins.lc 538:36-538:41 Type->Type testdata/Builtins.lc 538:40-538:41 V1 testdata/Builtins.lc 538:42-538:47 Type testdata/Builtins.lc 539:20-539:27 Type testdata/Builtins.lc 541:6-541:12 Type testdata/Builtins.lc 541:6-543:17 Type testdata/Builtins.lc 542:5-542:16 Filter testdata/Builtins.lc 543:5-543:17 Filter testdata/Builtins.lc 545:6-545:14 Type testdata/Builtins.lc 545:6-548:16 Type testdata/Builtins.lc 546:5-546:11 EdgeMode testdata/Builtins.lc 547:5-547:19 EdgeMode testdata/Builtins.lc 548:5-548:16 EdgeMode testdata/Builtins.lc 550:6-550:13 Type testdata/Builtins.lc 550:6-550:23 Type testdata/Builtins.lc 550:6-550:47 Type testdata/Builtins.lc 550:16-550:23 Filter -> EdgeMode -> Texture->Sampler | Sampler | Type testdata/Builtins.lc 550:24-550:30 Type testdata/Builtins.lc 550:31-550:39 Type testdata/Builtins.lc 550:40-550:47 Type testdata/Builtins.lc 553:1-553:10 Sampler -> Vec 2 Float -> Vec 4 Float testdata/Builtins.lc 553:14-553:21 Type testdata/Builtins.lc 553:25-553:28 Nat -> Type->Type testdata/Builtins.lc 553:25-553:30 Type->Type testdata/Builtins.lc 553:25-553:36 Type testdata/Builtins.lc 553:25-553:51 Type testdata/Builtins.lc 553:29-553:30 V1 testdata/Builtins.lc 553:31-553:36 Type testdata/Builtins.lc 553:40-553:43 Nat -> Type->Type testdata/Builtins.lc 553:40-553:45 Type->Type testdata/Builtins.lc 553:40-553:51 Type testdata/Builtins.lc 553:44-553:45 V1 testdata/Builtins.lc 553:46-553:51 Type testdata/Builtins.lc 556:1-556:15 {a} -> {b} -> a -> b -> Tuple2 a b testdata/Builtins.lc 556:24-556:32 Tuple2 V3 V1 testdata/Builtins.lc 556:25-556:28 V5 testdata/Builtins.lc 556:30-556:31 V2 testdata/Builtins.lc 557:1-557:8 {a : List ImageSemantics} -> {b:Nat} -> FrameBuffer b a -> Tuple2 (FragOps a) (List (Fragment b ('remSemantics' a))) -> FrameBuffer b a testdata/Builtins.lc 557:13-557:21 V3 testdata/Builtins.lc 557:13-557:46 FrameBuffer V0 V1 testdata/Builtins.lc 557:25-557:35 {a : List ImageSemantics} -> {b:Nat} -> FragOps a -> FragmentStream b ('remSemantics' a) -> FrameBuffer b a -> FrameBuffer b a testdata/Builtins.lc 557:25-557:39 FragmentStream V0 ('remSemantics' V1) -> FrameBuffer V1 V2 -> FrameBuffer V2 V3 testdata/Builtins.lc 557:25-557:43 FrameBuffer V0 V1 -> FrameBuffer V1 V2 testdata/Builtins.lc 557:25-557:46 FrameBuffer V0 V1 | V2 -> V2->V2 | V2->V2 testdata/Builtins.lc 557:36-557:39 V6 testdata/Builtins.lc 557:40-557:43 V5 testdata/Builtins.lc 557:44-557:46 V7 testdata/Builtins.lc 558:1-558:12 {a:Nat} -> {b : List ImageSemantics} -> FrameBuffer a b -> Output testdata/Builtins.lc 558:15-558:24 {a:Nat} -> {b : List ImageSemantics} -> FrameBuffer a b -> Output testdata/Builtins.lc 559:1-559:11 {a : List ImageSemantics} -> {b} -> {c:Nat} -> {d : ValidFrameBuffer a} -> {e : SameLayerCounts b} -> {f : FrameBuffer c a ~ TFFrameBuffer b} -> b -> FrameBuffer c a testdata/Builtins.lc 559:14-559:25 {a : List ImageSemantics} -> {b} -> {c:Nat} -> {d : ValidFrameBuffer a} -> {e : SameLayerCounts b} -> {f : FrameBuffer c a ~ TFFrameBuffer b} -> b -> FrameBuffer c a testdata/Builtins.lc 560:1-560:16 Float -> Image 1 ('Depth Float) testdata/Builtins.lc 560:19-560:29 {a:Nat} -> Float -> Image a ('Depth Float) testdata/Builtins.lc 560:19-560:32 Float -> Image 1 ('Depth Float) testdata/Builtins.lc 560:31-560:32 V1 testdata/Builtins.lc 561:1-561:16 {a:Nat} -> {b} -> {c} -> {d : Num b} -> {e : c ~ VecScalar a b} -> c -> Image 1 ('Color c) testdata/Builtins.lc 561:19-561:29 {a:Nat} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : d ~ VecScalar b c} -> d -> Image a ('Color d) testdata/Builtins.lc 561:19-561:32 {a:Nat} -> {b} -> {c} -> {d : Num b} -> {e : c ~ VecScalar a b} -> c -> Image 1 ('Color c) testdata/Builtins.lc 561:31-561:32 V1