summaryrefslogtreecommitdiff
path: root/testdata/Builtins.out
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-05-02 17:52:01 +0200
committerPéter Diviánszky <divipp@gmail.com>2016-05-02 17:52:01 +0200
commit438e4a1b062a73b667adf0fd94167dcc311929d3 (patch)
treef2bed41f845106c51d36f048a0e23d5f27064fa2 /testdata/Builtins.out
parent769c7ac09e66bcae5ca34009734b5e184ce2e0f0 (diff)
more list syntax in pretty print
Diffstat (limited to 'testdata/Builtins.out')
-rw-r--r--testdata/Builtins.out565
1 files changed, 281 insertions, 284 deletions
diff --git a/testdata/Builtins.out b/testdata/Builtins.out
index 85fa9d7f..4010c01b 100644
--- a/testdata/Builtins.out
+++ b/testdata/Builtins.out
@@ -1,9 +1,9 @@
1------------ desugared source code 1------------ desugared source code
2id = \(a :: _) -> _rhs a 2id = \(a :: _) -> _rhs a
3data VecS (_ :: Type) :: Nat -> Type where 3data VecS (_ :: Type) :: Nat -> Type where
4 V2 :: _a -> _a -> VecS _a (fromInt 2) 4 V2 :: forall a . a -> a -> VecS a (fromInt 2)
5 V3 :: _a -> _a -> _a -> VecS _a (fromInt 3) 5 V3 :: forall b . b -> b -> b -> VecS b (fromInt 3)
6 V4 :: _a -> _a -> _a -> _a -> VecS _a (fromInt 4) 6 V4 :: forall c . c -> c -> c -> c -> VecS c (fromInt 4)
7mapVec 7mapVec
8 = (\(a :: _) (b :: _) -> 'VecSCase 8 = (\(a :: _) (b :: _) -> 'VecSCase
9 \_ -> \_ -> _ :: _ 9 \_ -> \_ -> _ :: _
@@ -566,7 +566,7 @@ PrimSign
566 :: forall (a :: _) (b :: _) (c :: _) . (Signed a, b ~ VecScalar c a) => b -> b 566 :: forall (a :: _) (b :: _) (c :: _) . (Signed a, b ~ VecScalar c a) => b -> b
567PrimModF 567PrimModF
568 :: forall (a :: _) (b :: _) 568 :: forall (a :: _) (b :: _)
569 . (a ~ VecScalar b Float) => a -> HList (a : a : 'Nil) 569 . (a ~ VecScalar b Float) => a -> HList (a : a : '[])
570PrimClamp 570PrimClamp
571 :: forall (a :: _) (b :: _) (c :: _) 571 :: forall (a :: _) (b :: _) (c :: _)
572 . (Num a, b ~ VecScalar c a) => b -> b -> b -> b 572 . (Num a, b ~ VecScalar c a) => b -> b -> b -> b
@@ -671,7 +671,7 @@ map
671 b 671 b
672concatMap 672concatMap
673 = (\(a :: _) (b :: _) -> _rhs (concat (map a b))) 673 = (\(a :: _) (b :: _) -> _rhs (concat (map a b)))
674 :: forall (c :: _) (d :: _) . (c -> List d) -> List c -> List d 674 :: forall (c :: _) (d :: _) . (c -> [d]) -> [c] -> [d]
675len 675len
676 = \(a :: _) -> 'ListCase 676 = \(a :: _) -> 'ListCase
677 \_ -> _ :: _ 677 \_ -> _ :: _
@@ -679,8 +679,8 @@ len
679 \_ (b :: _) -> _rhs (fromInt 1 `primAddInt` len b) 679 \_ (b :: _) -> _rhs (fromInt 1 `primAddInt` len b)
680 a 680 a
681data Maybe (_ :: Type) :: Type where 681data Maybe (_ :: Type) :: Type where
682 Nothing :: Maybe _a 682 Nothing :: forall a . Maybe a
683 Just :: _a -> Maybe _a 683 Just :: forall b . b -> Maybe b
684data Vector (_ :: Nat) (_ :: Type) :: Type where 684data Vector (_ :: Nat) (_ :: Type) :: Type where
685 685
686data PrimitiveType :: Type where 686data PrimitiveType :: Type where
@@ -690,13 +690,13 @@ data PrimitiveType :: Type where
690 TriangleAdjacency :: PrimitiveType 690 TriangleAdjacency :: PrimitiveType
691 LineAdjacency :: PrimitiveType 691 LineAdjacency :: PrimitiveType
692data Primitive (_ :: Type) :: PrimitiveType -> Type where 692data Primitive (_ :: Type) :: PrimitiveType -> Type where
693 PrimPoint :: _a -> Primitive _a Point 693 PrimPoint :: forall a . a -> Primitive a Point
694 PrimLine :: _a -> _a -> Primitive _a Line 694 PrimLine :: forall b . b -> b -> Primitive b Line
695 PrimTriangle :: _a -> _a -> _a -> Primitive _a Triangle 695 PrimTriangle :: forall c . c -> c -> c -> Primitive c Triangle
696mapPrimitive 696mapPrimitive
697 :: forall (a :: _) (b :: _) (c :: _) 697 :: forall (a :: _) (b :: _) (c :: _)
698 . (a -> b) -> Primitive a c -> Primitive b c 698 . (a -> b) -> Primitive a c -> Primitive b c
699'PrimitiveStream = \(a :: _) (b :: _) -> _rhs ('List ('Primitive b a)) 699'PrimitiveStream = \(a :: _) (b :: _) -> _rhs ['Primitive b a]
700mapPrimitives 700mapPrimitives
701 = (\(a :: _) -> _rhs (map (mapPrimitive a))) 701 = (\(a :: _) -> _rhs (map (mapPrimitive a)))
702 :: forall (b :: _) (c :: _) (d :: _) 702 :: forall (b :: _) (c :: _) (d :: _)
@@ -711,17 +711,17 @@ fetch
711 :: forall (a :: _) (b :: _) . String -> HList b -> PrimitiveStream a (HList b) 711 :: forall (a :: _) (b :: _) . String -> HList b -> PrimitiveStream a (HList b)
712Attribute :: forall (a :: _) . String -> a 712Attribute :: forall (a :: _) . String -> a
713fetchStream 713fetchStream
714 :: forall (a :: _) (b :: List Type) 714 :: forall (a :: _) (b :: [Type])
715 . String 715 . String
716 -> forall (c :: List String) -> (len c ~ len b) => PrimitiveStream a (HList b) 716 -> forall (c :: [String]) -> (len c ~ len b) => PrimitiveStream a (HList b)
717data SimpleFragment (_ :: Type) :: Type where 717data SimpleFragment (_ :: Type) :: Type where
718 SimpleFragment :: Vec (fromInt 3) Float -> _a -> SimpleFragment _a 718 SimpleFragment :: forall a . Vec (fromInt 3) Float -> a -> SimpleFragment a
719'Fragment = \(a :: _) (b :: _) -> _rhs ('Vector a ('Maybe ('SimpleFragment b))) 719'Fragment = \(a :: _) (b :: _) -> _rhs ('Vector a ('Maybe ('SimpleFragment b)))
720sFragmentCoords 720sFragmentCoords
721 = \(a :: _) -> 'SimpleFragmentCase \_ -> _ :: _ \(b :: _) -> \_ -> _rhs b a 721 = \(a :: _) -> 'SimpleFragmentCase \_ -> _ :: _ \(b :: _) -> \_ -> _rhs b a
722sFragmentValue 722sFragmentValue
723 = \(a :: _) -> 'SimpleFragmentCase \_ -> _ :: _ \_ (b :: _) -> _rhs b a 723 = \(a :: _) -> 'SimpleFragmentCase \_ -> _ :: _ \_ (b :: _) -> _rhs b a
724'FragmentStream = \(a :: _) (b :: _) -> _rhs ('List ('Fragment a b)) 724'FragmentStream = \(a :: _) (b :: _) -> _rhs ['Fragment a b]
725customizeDepth 725customizeDepth
726 :: forall (a :: _) (b :: _) . (a -> Float) -> Fragment b a -> Fragment b a 726 :: forall (a :: _) (b :: _) . (a -> Float) -> Fragment b a -> Fragment b a
727customizeDepths 727customizeDepths
@@ -872,36 +872,37 @@ data CullMode :: Type where
872 CullBack :: CullMode 872 CullBack :: CullMode
873 CullNone :: CullMode 873 CullNone :: CullMode
874data PointSize (_ :: Type) :: Type where 874data PointSize (_ :: Type) :: Type where
875 PointSize :: Float -> PointSize _a 875 PointSize :: forall a . Float -> PointSize a
876 ProgramPointSize :: (_a -> Float) -> PointSize _a 876 ProgramPointSize :: forall b . (b -> Float) -> PointSize b
877data PolygonMode (_ :: Type) :: Type where 877data PolygonMode (_ :: Type) :: Type where
878 PolygonFill :: PolygonMode _a 878 PolygonFill :: forall a . PolygonMode a
879 PolygonPoint :: PointSize _a -> PolygonMode _a 879 PolygonPoint :: forall b . PointSize b -> PolygonMode b
880 PolygonLine :: Float -> PolygonMode _a 880 PolygonLine :: forall c . Float -> PolygonMode c
881data PolygonOffset :: Type where 881data PolygonOffset :: Type where
882 NoOffset :: PolygonOffset 882 NoOffset :: PolygonOffset
883 Offset :: Float -> Float -> PolygonOffset 883 Offset :: Float -> Float -> PolygonOffset
884data PointSpriteCoordOrigin :: Type where 884data PointSpriteCoordOrigin :: Type where
885 LowerLeft :: PointSpriteCoordOrigin 885 LowerLeft :: PointSpriteCoordOrigin
886 UpperLeft :: PointSpriteCoordOrigin 886 UpperLeft :: PointSpriteCoordOrigin
887primTexture :: HList 'Nil -> Vec (fromInt 2) Float -> Vec (fromInt 4) Float 887primTexture :: HList '[] -> Vec (fromInt 2) Float -> Vec (fromInt 4) Float
888Uniform :: forall (a :: _) . String -> a 888Uniform :: forall (a :: _) . String -> a
889data RasterContext (_ :: Type) :: PrimitiveType -> Type where 889data RasterContext (_ :: Type) :: PrimitiveType -> Type where
890 TriangleCtx 890 TriangleCtx
891 :: CullMode 891 :: forall a
892 -> PolygonMode _a 892 . CullMode
893 -> PolygonOffset -> ProvokingVertex -> RasterContext _a Triangle 893 -> PolygonMode a -> PolygonOffset -> ProvokingVertex -> RasterContext a Triangle
894 PointCtx 894 PointCtx
895 :: PointSize _a -> Float -> PointSpriteCoordOrigin -> RasterContext _a Point 895 :: forall b
896 LineCtx :: Float -> ProvokingVertex -> RasterContext _a Line 896 . PointSize b -> Float -> PointSpriteCoordOrigin -> RasterContext b Point
897 LineCtx :: forall c . Float -> ProvokingVertex -> RasterContext c Line
897data Blending :: Type -> Type where 898data Blending :: Type -> Type where
898 NoBlending :: forall (a :: _) . Blending a 899 NoBlending :: forall (a :: _) . Blending a
899 BlendLogicOp :: forall (b :: _) . Integral b => LogicOperation -> Blending b 900 BlendLogicOp :: forall (b :: _) . Integral b => LogicOperation -> Blending b
900 Blend 901 Blend
901 :: HList (BlendEquation : BlendEquation : 'Nil) 902 :: HList (BlendEquation : BlendEquation : '[])
902 -> HList 903 -> HList
903 (HList (BlendingFactor : BlendingFactor : 'Nil) 904 (HList (BlendingFactor : BlendingFactor : '[])
904 : HList (BlendingFactor : BlendingFactor : 'Nil) : 'Nil) 905 : HList (BlendingFactor : BlendingFactor : '[]) : '[])
905 -> Vec (fromInt 4) Float -> Blending Float 906 -> Vec (fromInt 4) Float -> Blending Float
906data StencilTests :: Type where 907data StencilTests :: Type where
907 908
@@ -916,9 +917,9 @@ data FragmentOperation :: ImageKind -> Type where
916 StencilOp 917 StencilOp
917 :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation Stencil 918 :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation Stencil
918data Interpolated (_ :: Type) :: Type where 919data Interpolated (_ :: Type) :: Type where
919 Smooth :: Floating _a => Interpolated _a 920 Smooth :: forall a . Floating a => Interpolated a
920 NoPerspective :: Floating _a => Interpolated _a 921 NoPerspective :: forall b . Floating b => Interpolated b
921 Flat :: Interpolated _a 922 Flat :: forall c . Interpolated c
922rasterizePrimitive 923rasterizePrimitive
923 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 924 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
924 . (map Interpolated a ~ b, c ~ Vec (fromInt 4) Float : a) 925 . (map Interpolated a ~ b, c ~ Vec (fromInt 4) Float : a)
@@ -940,9 +941,9 @@ allSame
940 \(d :: _) (e :: _) -> _rhs ('T2 (b ~ d) (allSame (d : e))) 941 \(d :: _) (e :: _) -> _rhs ('T2 (b ~ d) (allSame (d : e)))
941 c 942 c
942 a) 943 a)
943 :: forall (f :: _) . List f -> Type 944 :: forall (f :: _) . [f] -> Type
944sameLayerCounts = \(a :: _) -> _rhs (allSame (map 'ImageLC a)) 945sameLayerCounts = \(a :: _) -> _rhs (allSame (map 'ImageLC a))
945data FrameBuffer (_ :: Nat) (_ :: List ImageKind) :: Type where 946data FrameBuffer (_ :: Nat) (_ :: [ImageKind]) :: Type where
946 947
947imageType' 948imageType'
948 = (\(a :: _) -> 'ListCase 949 = (\(a :: _) -> 'ListCase
@@ -955,12 +956,12 @@ imageType'
955 (_rhs (map imageType a)) 956 (_rhs (map imageType a))
956 b 957 b
957 a) 958 a)
958 :: List ImageKind -> List Type 959 :: [ImageKind] -> [Type]
959'FragmentOperationKind 960'FragmentOperationKind
960 = (\(a :: _) -> match'FragmentOperation \_ -> _ \(b :: _) -> _rhs b a undefined) 961 = (\(a :: _) -> match'FragmentOperation \_ -> _ \(b :: _) -> _rhs b a undefined)
961 :: Type -> ImageKind 962 :: Type -> ImageKind
962Accumulate 963Accumulate
963 :: forall (a :: _) (b :: Nat) (c :: List Type) 964 :: forall (a :: _) (b :: Nat) (c :: [Type])
964 . (a ~ map FragmentOperationKind c) 965 . (a ~ map FragmentOperationKind c)
965 => HList c 966 => HList c
966 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a 967 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a
@@ -978,7 +979,7 @@ infixl 0 overlay
978 = (\(a :: _) -> match'Image \_ -> _ \_ (b :: _) -> _rhs b a undefined) 979 = (\(a :: _) -> match'Image \_ -> _ \_ (b :: _) -> _rhs b a undefined)
979 :: Type -> ImageKind 980 :: Type -> ImageKind
980FrameBuffer 981FrameBuffer
981 :: forall (a :: List Type) 982 :: forall (a :: [Type])
982 . sameLayerCounts a 983 . sameLayerCounts a
983 => HList a -> FrameBuffer (ImageLC (head a)) (map GetImageKind a) 984 => HList a -> FrameBuffer (ImageLC (head a)) (map GetImageKind a)
984imageFrame = _rhs FrameBuffer 985imageFrame = _rhs FrameBuffer
@@ -986,9 +987,9 @@ accumulate
986 = \(a :: _) (b :: _) (c :: _) (d :: _) -> _rhs 987 = \(a :: _) (b :: _) (c :: _) (d :: _) -> _rhs
987 (Accumulate a (mapFragments b c) d) 988 (Accumulate a (mapFragments b c) d)
988PrjImage 989PrjImage
989 :: forall (a :: _) . FrameBuffer (fromInt 1) (a : 'Nil) -> Image (fromInt 1) a 990 :: forall (a :: _) . FrameBuffer (fromInt 1) (a : '[]) -> Image (fromInt 1) a
990PrjImageColor 991PrjImageColor
991 :: FrameBuffer (fromInt 1) ('Depth : 'Color (Vec (fromInt 4) Float) : 'Nil) 992 :: FrameBuffer (fromInt 1) ('Depth : 'Color (Vec (fromInt 4) Float) : '[])
992 -> Image (fromInt 1) (Color (Vec (fromInt 4) Float)) 993 -> Image (fromInt 1) (Color (Vec (fromInt 4) Float))
993data Output :: Type where 994data Output :: Type where
994 ScreenOut :: forall (a :: _) (b :: _) . FrameBuffer a b -> Output 995 ScreenOut :: forall (a :: _) (b :: _) . FrameBuffer a b -> Output
@@ -1222,13 +1223,13 @@ PrimNoise1 :: forall (a :: Nat) . VecScalar a Float -> Float
1222PrimNoise2 :: forall (a :: Nat) . VecScalar a Float -> Vec 2 Float 1223PrimNoise2 :: forall (a :: Nat) . VecScalar a Float -> Vec 2 Float
1223PrimNoise3 :: forall (a :: Nat) . VecScalar a Float -> Vec 3 Float 1224PrimNoise3 :: forall (a :: Nat) . VecScalar a Float -> Vec 3 Float
1224PrimNoise4 :: forall (a :: Nat) . VecScalar a Float -> Vec 4 Float 1225PrimNoise4 :: forall (a :: Nat) . VecScalar a Float -> Vec 4 Float
1225head :: forall a . List a -> a 1226head :: forall a . [a] -> a
1226++ :: forall a . List a -> List a -> List a 1227++ :: forall a . [a] -> [a] -> [a]
1227foldr :: forall a b . (b -> a -> a) -> a -> List b -> a 1228foldr :: forall a b . (b -> a -> a) -> a -> [b] -> a
1228concat :: forall a . List (List a) -> List a 1229concat :: forall a . [[a]] -> [a]
1229map :: forall a b . (a -> b) -> List a -> List b 1230map :: forall a b . (a -> b) -> [a] -> [b]
1230concatMap :: forall a b . (a -> List b) -> List a -> List b 1231concatMap :: forall a b . (a -> [b]) -> [a] -> [b]
1231len :: forall a . List a -> Int 1232len :: forall a . [a] -> Int
1232'Maybe :: Type -> Type 1233'Maybe :: Type -> Type
1233Nothing :: forall a . Maybe a 1234Nothing :: forall a . Maybe a
1234Just :: forall a . a -> Maybe a 1235Just :: forall a . a -> Maybe a
@@ -1282,19 +1283,19 @@ mapPrimitive
1282'PrimitiveStream :: PrimitiveType -> Type -> Type 1283'PrimitiveStream :: PrimitiveType -> Type -> Type
1283mapPrimitives 1284mapPrimitives
1284 :: forall a b (c :: PrimitiveType) 1285 :: forall a b (c :: PrimitiveType)
1285 . (a -> b) -> List (Primitive a c) -> List (Primitive b c) 1286 . (a -> b) -> [Primitive a c] -> [Primitive b c]
1286'ListElem :: Type -> Type 1287'ListElem :: Type -> Type
1287fetchArrays 1288fetchArrays
1288 :: forall (a :: PrimitiveType) (b :: List Type) (c :: List Type) 1289 :: forall (a :: PrimitiveType) (b :: [Type]) (c :: [Type])
1289 . (b ~ map Type Type ListElem c) => HList c -> PrimitiveStream a (HList b) 1290 . (b ~ map Type Type ListElem c) => HList c -> PrimitiveStream a (HList b)
1290fetch 1291fetch
1291 :: forall (a :: PrimitiveType) (b :: List Type) 1292 :: forall (a :: PrimitiveType) (b :: [Type])
1292 . String -> HList b -> PrimitiveStream a (HList b) 1293 . String -> HList b -> PrimitiveStream a (HList b)
1293Attribute :: forall a . String -> a 1294Attribute :: forall a . String -> a
1294fetchStream 1295fetchStream
1295 :: forall (a :: PrimitiveType) (b :: List Type) 1296 :: forall (a :: PrimitiveType) (b :: [Type])
1296 . String 1297 . String
1297 -> forall (c :: List String) 1298 -> forall (c :: [String])
1298 -> (len String c ~ len Type b) => PrimitiveStream a (HList b) 1299 -> (len String c ~ len Type b) => PrimitiveStream a (HList b)
1299'SimpleFragment :: Type -> Type 1300'SimpleFragment :: Type -> Type
1300SimpleFragment :: forall a . Vec 3 Float -> a -> SimpleFragment a 1301SimpleFragment :: forall a . Vec 3 Float -> a -> SimpleFragment a
@@ -1315,21 +1316,21 @@ customizeDepth
1315customizeDepths 1316customizeDepths
1316 :: forall a (b :: Nat) 1317 :: forall a (b :: Nat)
1317 . (a -> Float) 1318 . (a -> Float)
1318 -> List (Vector b (Maybe (SimpleFragment a))) 1319 -> [Vector b (Maybe (SimpleFragment a))]
1319 -> List (Vector b (Maybe (SimpleFragment a))) 1320 -> [Vector b (Maybe (SimpleFragment a))]
1320filterFragment 1321filterFragment
1321 :: forall a (b :: Nat) . (a -> Bool) -> Fragment b a -> Fragment b a 1322 :: forall a (b :: Nat) . (a -> Bool) -> Fragment b a -> Fragment b a
1322filterFragments 1323filterFragments
1323 :: forall a (b :: Nat) 1324 :: forall a (b :: Nat)
1324 . (a -> Bool) 1325 . (a -> Bool)
1325 -> List (Vector b (Maybe (SimpleFragment a))) 1326 -> [Vector b (Maybe (SimpleFragment a))]
1326 -> List (Vector b (Maybe (SimpleFragment a))) 1327 -> [Vector b (Maybe (SimpleFragment a))]
1327mapFragment :: forall a b (c :: Nat) . (a -> b) -> Fragment c a -> Fragment c b 1328mapFragment :: forall a b (c :: Nat) . (a -> b) -> Fragment c a -> Fragment c b
1328mapFragments 1329mapFragments
1329 :: forall a b (c :: Nat) 1330 :: forall a b (c :: Nat)
1330 . (a -> b) 1331 . (a -> b)
1331 -> List (Vector c (Maybe (SimpleFragment a))) 1332 -> [Vector c (Maybe (SimpleFragment a))]
1332 -> List (Vector c (Maybe (SimpleFragment b))) 1333 -> [Vector c (Maybe (SimpleFragment b))]
1333'ImageKind :: Type 1334'ImageKind :: Type
1334Color :: Type -> ImageKind 1335Color :: Type -> ImageKind
1335Depth :: ImageKind 1336Depth :: ImageKind
@@ -1646,75 +1647,74 @@ match'Interpolated
1646 :: forall (a :: Type -> Type) 1647 :: forall (a :: Type -> Type)
1647 -> (forall b -> a (Interpolated b)) -> forall c -> a c -> a c 1648 -> (forall b -> a (Interpolated b)) -> forall c -> a c -> a c
1648rasterizePrimitive 1649rasterizePrimitive
1649 :: forall (a :: List Type) 1650 :: forall (a :: [Type]) (b :: [Type]) (c :: [Type]) (d :: PrimitiveType)
1650 (b :: List Type) (c :: List Type) (d :: PrimitiveType)
1651 . (map Type Type Interpolated a ~ b, c ~ : (Vec 4 Float) a) 1651 . (map Type Type Interpolated a ~ b, c ~ : (Vec 4 Float) a)
1652 => HList b 1652 => HList b
1653 -> RasterContext (HList c) d 1653 -> RasterContext (HList c) d
1654 -> Primitive (HList c) d -> FragmentStream 1 (HList a) 1654 -> Primitive (HList c) d -> FragmentStream 1 (HList a)
1655rasterizePrimitives 1655rasterizePrimitives
1656 :: forall (a :: List Type) (b :: PrimitiveType) 1656 :: forall (a :: [Type]) (b :: PrimitiveType)
1657 . RasterContext (HList (: (Vec 4 Float) a)) b 1657 . RasterContext (HList (: (Vec 4 Float) a)) b
1658 -> HList (map Type Type Interpolated a) 1658 -> HList (map Type Type Interpolated a)
1659 -> List (Primitive (HList (: (Vec 4 Float) a)) b) 1659 -> [Primitive (HList (: (Vec 4 Float) a)) b]
1660 -> List (Vector 1 (Maybe (SimpleFragment (HList a)))) 1660 -> [Vector 1 (Maybe (SimpleFragment (HList a)))]
1661'ImageLC :: Type -> Nat 1661'ImageLC :: Type -> Nat
1662allSame :: forall a . List a -> Type 1662allSame :: forall a . [a] -> Type
1663sameLayerCounts :: List Type -> Type 1663sameLayerCounts :: [Type] -> Type
1664'FrameBuffer :: Nat -> List ImageKind -> Type 1664'FrameBuffer :: Nat -> [ImageKind] -> Type
1665'FrameBufferCase 1665'FrameBufferCase
1666 :: forall (a :: Nat) (b :: List ImageKind) 1666 :: forall (a :: Nat) (b :: [ImageKind])
1667 . forall (c :: FrameBuffer a b -> Type) (d :: FrameBuffer a b) -> c d 1667 . forall (c :: FrameBuffer a b -> Type) (d :: FrameBuffer a b) -> c d
1668match'FrameBuffer 1668match'FrameBuffer
1669 :: forall (a :: Type -> Type) 1669 :: forall (a :: Type -> Type)
1670 -> (forall (b :: Nat) (c :: List ImageKind) -> a (FrameBuffer b c)) 1670 -> (forall (b :: Nat) (c :: [ImageKind]) -> a (FrameBuffer b c))
1671 -> forall d -> a d -> a d 1671 -> forall d -> a d -> a d
1672imageType' :: List ImageKind -> List Type 1672imageType' :: [ImageKind] -> [Type]
1673'FragmentOperationKind :: Type -> ImageKind 1673'FragmentOperationKind :: Type -> ImageKind
1674Accumulate 1674Accumulate
1675 :: forall (a :: List ImageKind) (b :: Nat) (c :: List Type) 1675 :: forall (a :: [ImageKind]) (b :: Nat) (c :: [Type])
1676 . (a ~ map Type ImageKind FragmentOperationKind c) 1676 . (a ~ map Type ImageKind FragmentOperationKind c)
1677 => HList c 1677 => HList c
1678 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a 1678 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a
1679accumulateWith :: forall a b . a -> b -> (a, b) 1679accumulateWith :: forall a b . a -> b -> (a, b)
1680overlay 1680overlay
1681 :: forall (a :: Nat) (b :: List Type) 1681 :: forall (a :: Nat) (b :: [Type])
1682 . FrameBuffer a (map Type ImageKind FragmentOperationKind b) 1682 . FrameBuffer a (map Type ImageKind FragmentOperationKind b)
1683 -> (HList b, List 1683 -> (HList b, [Fragment
1684 (Fragment a (HList (imageType' (map Type ImageKind FragmentOperationKind b))))) 1684 a
1685 (HList (imageType' (map Type ImageKind FragmentOperationKind b)))])
1685 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) 1686 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b)
1686'GetImageKind :: Type -> ImageKind 1687'GetImageKind :: Type -> ImageKind
1687FrameBuffer 1688FrameBuffer
1688 :: forall (a :: List Type) 1689 :: forall (a :: [Type])
1689 . sameLayerCounts a 1690 . sameLayerCounts a
1690 => HList a 1691 => HList a
1691 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a) 1692 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a)
1692imageFrame 1693imageFrame
1693 :: forall (a :: List Type) 1694 :: forall (a :: [Type])
1694 . sameLayerCounts a 1695 . sameLayerCounts a
1695 => HList a 1696 => HList a
1696 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a) 1697 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a)
1697accumulate 1698accumulate
1698 :: forall (a :: Nat) (b :: List Type) c 1699 :: forall (a :: Nat) (b :: [Type]) c
1699 . HList b 1700 . HList b
1700 -> (c -> HList (imageType' (map Type ImageKind FragmentOperationKind b))) 1701 -> (c -> HList (imageType' (map Type ImageKind FragmentOperationKind b)))
1701 -> List (Vector a (Maybe (SimpleFragment c))) 1702 -> [Vector a (Maybe (SimpleFragment c))]
1702 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) 1703 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b)
1703 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) 1704 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b)
1704PrjImage :: forall (a :: ImageKind) . FrameBuffer 1 (: a 'Nil) -> Image 1 a 1705PrjImage :: forall (a :: ImageKind) . FrameBuffer 1 (: a '[]) -> Image 1 a
1705PrjImageColor 1706PrjImageColor
1706 :: FrameBuffer 1 (: 'Depth (: ('Color (Vec 4 Float)) 'Nil)) 1707 :: FrameBuffer 1 (: 'Depth (: ('Color (Vec 4 Float)) '[]))
1707 -> Image 1 ('Color (Vec 4 Float)) 1708 -> Image 1 ('Color (Vec 4 Float))
1708'Output :: Type 1709'Output :: Type
1709ScreenOut :: forall (a :: Nat) (b :: List ImageKind) . FrameBuffer a b -> Output 1710ScreenOut :: forall (a :: Nat) (b :: [ImageKind]) . FrameBuffer a b -> Output
1710'OutputCase 1711'OutputCase
1711 :: forall (a :: Output -> Type) 1712 :: forall (a :: Output -> Type)
1712 -> (forall (b :: Nat) (c :: List ImageKind) 1713 -> (forall (b :: Nat) (c :: [ImageKind])
1713 . forall (d :: FrameBuffer b c) -> a ('ScreenOut b c d)) 1714 . forall (d :: FrameBuffer b c) -> a ('ScreenOut b c d))
1714 -> forall (e :: Output) -> a e 1715 -> forall (e :: Output) -> a e
1715match'Output :: forall (a :: Type -> Type) -> a Output -> forall b -> a b -> a b 1716match'Output :: forall (a :: Type -> Type) -> a Output -> forall b -> a b -> a b
1716renderFrame 1717renderFrame :: forall (a :: Nat) (b :: [ImageKind]) . FrameBuffer a b -> Output
1717 :: forall (a :: Nat) (b :: List ImageKind) . FrameBuffer a b -> Output
1718'Texture :: Type 1718'Texture :: Type
1719Texture2DSlot :: String -> Texture 1719Texture2DSlot :: String -> Texture
1720Texture2D :: Vec 2 Int -> Image 1 ('Color (Vec 4 Float)) -> Texture 1720Texture2D :: Vec 2 Int -> Image 1 ('Color (Vec 4 Float)) -> Texture
@@ -3628,9 +3628,9 @@ testdata/Builtins.lc 145:66-145:72
3628testdata/Builtins.lc 145:67-145:68 3628testdata/Builtins.lc 145:67-145:68
3629 Type 3629 Type
3630testdata/Builtins.lc 145:67-145:71 3630testdata/Builtins.lc 145:67-145:71
3631 List Type 3631 [Type]
3632testdata/Builtins.lc 145:70-145:71 3632testdata/Builtins.lc 145:70-145:71
3633 Type | List Type 3633 Type | [Type]
3634testdata/Builtins.lc 146:1-146:10 3634testdata/Builtins.lc 146:1-146:10
3635 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b -> b 3635 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b -> b
3636testdata/Builtins.lc 146:34-146:80 3636testdata/Builtins.lc 146:34-146:80
@@ -4761,35 +4761,35 @@ testdata/Builtins.lc 187:59-187:60
4761testdata/Builtins.lc 187:61-187:66 4761testdata/Builtins.lc 187:61-187:66
4762 Type 4762 Type
4763testdata/Builtins.lc 201:1-201:5 4763testdata/Builtins.lc 201:1-201:5
4764 forall a . List a -> a 4764 forall a . [a] -> a
4765testdata/Builtins.lc 201:15-201:16 4765testdata/Builtins.lc 201:15-201:16
4766 _d 4766 _d
4767testdata/Builtins.lc 203:6-203:8 4767testdata/Builtins.lc 203:6-203:8
4768 forall a . List a -> List a -> List a 4768 forall a . [a] -> [a] -> [a]
4769testdata/Builtins.lc 203:14-203:16 4769testdata/Builtins.lc 203:14-203:16
4770 _d 4770 _d
4771testdata/Builtins.lc 203:14-204:26 4771testdata/Builtins.lc 203:14-204:26
4772 List _a -> List _a 4772 [_a] -> [_a]
4773testdata/Builtins.lc 204:14-204:15 4773testdata/Builtins.lc 204:14-204:15
4774 _d 4774 _d
4775testdata/Builtins.lc 204:14-204:17 4775testdata/Builtins.lc 204:14-204:17
4776 List _c -> List _c 4776 [_c] -> [_c]
4777testdata/Builtins.lc 204:14-204:26 4777testdata/Builtins.lc 204:14-204:26
4778 List _c 4778 [_c]
4779testdata/Builtins.lc 204:16-204:17 4779testdata/Builtins.lc 204:16-204:17
4780 forall a . a -> List a -> List a 4780 forall a . a -> [a] -> [a]
4781testdata/Builtins.lc 204:18-204:20 4781testdata/Builtins.lc 204:18-204:20
4782 List _f 4782 [_f]
4783testdata/Builtins.lc 204:21-204:23 4783testdata/Builtins.lc 204:21-204:23
4784 _h 4784 _h
4785testdata/Builtins.lc 204:24-204:26 4785testdata/Builtins.lc 204:24-204:26
4786 List _g 4786 [_g]
4787testdata/Builtins.lc 206:1-206:6 4787testdata/Builtins.lc 206:1-206:6
4788 forall a b . (b -> a -> a) -> a -> List b -> a 4788 forall a b . (b -> a -> a) -> a -> [b] -> a
4789testdata/Builtins.lc 206:16-206:17 4789testdata/Builtins.lc 206:16-206:17
4790 _f 4790 _f
4791testdata/Builtins.lc 206:16-207:39 4791testdata/Builtins.lc 206:16-207:39
4792 List _b -> _f 4792 [_b] -> _f
4793testdata/Builtins.lc 207:21-207:22 4793testdata/Builtins.lc 207:21-207:22
4794 _i 4794 _i
4795testdata/Builtins.lc 207:23-207:24 4795testdata/Builtins.lc 207:23-207:24
@@ -4801,41 +4801,41 @@ testdata/Builtins.lc 207:32-207:33
4801testdata/Builtins.lc 207:34-207:35 4801testdata/Builtins.lc 207:34-207:35
4802 _o 4802 _o
4803testdata/Builtins.lc 207:36-207:38 4803testdata/Builtins.lc 207:36-207:38
4804 List _k 4804 [_k]
4805testdata/Builtins.lc 209:1-209:7 4805testdata/Builtins.lc 209:1-209:7
4806 forall a . List (List a) -> List a 4806 forall a . [[a]] -> [a]
4807testdata/Builtins.lc 209:10-209:15 4807testdata/Builtins.lc 209:10-209:15
4808 forall a b . (b -> a -> a) -> a -> List b -> a 4808 forall a b . (b -> a -> a) -> a -> [b] -> a
4809testdata/Builtins.lc 209:10-209:20 4809testdata/Builtins.lc 209:10-209:20
4810 List _a -> List (List _a) -> List _a 4810 [_a] -> [[_a]] -> [_a]
4811testdata/Builtins.lc 209:10-209:23 4811testdata/Builtins.lc 209:10-209:23
4812 List (List _a) -> List _a 4812 [[_a]] -> [_a]
4813testdata/Builtins.lc 209:16-209:20 4813testdata/Builtins.lc 209:16-209:20
4814 forall a . List a -> List a -> List a 4814 forall a . [a] -> [a] -> [a]
4815testdata/Builtins.lc 209:21-209:23 4815testdata/Builtins.lc 209:21-209:23
4816 forall a . List a 4816 forall a . [a]
4817testdata/Builtins.lc 211:1-211:4 4817testdata/Builtins.lc 211:1-211:4
4818 forall a b . (a -> b) -> List a -> List b 4818 forall a b . (a -> b) -> [a] -> [b]
4819testdata/Builtins.lc 211:16-211:18 4819testdata/Builtins.lc 211:16-211:18
4820 forall a . List a 4820 forall a . [a]
4821testdata/Builtins.lc 211:16-212:30 4821testdata/Builtins.lc 211:16-212:30
4822 List _b -> List _a 4822 [_b] -> [_a]
4823testdata/Builtins.lc 212:16-212:17 4823testdata/Builtins.lc 212:16-212:17
4824 _i 4824 _i
4825testdata/Builtins.lc 212:16-212:21 4825testdata/Builtins.lc 212:16-212:21
4826 List _a -> List _a 4826 [_a] -> [_a]
4827testdata/Builtins.lc 212:16-212:30 4827testdata/Builtins.lc 212:16-212:30
4828 List _c 4828 [_c]
4829testdata/Builtins.lc 212:18-212:19 4829testdata/Builtins.lc 212:18-212:19
4830 _h 4830 _h
4831testdata/Builtins.lc 212:20-212:21 4831testdata/Builtins.lc 212:20-212:21
4832 forall a . a -> List a -> List a 4832 forall a . a -> [a] -> [a]
4833testdata/Builtins.lc 212:22-212:25 4833testdata/Builtins.lc 212:22-212:25
4834 _i 4834 _i
4835testdata/Builtins.lc 212:26-212:27 4835testdata/Builtins.lc 212:26-212:27
4836 _g -> _f 4836 _g -> _f
4837testdata/Builtins.lc 212:28-212:30 4837testdata/Builtins.lc 212:28-212:30
4838 List _h 4838 [_h]
4839testdata/Builtins.lc 214:14-214:38 4839testdata/Builtins.lc 214:14-214:38
4840 Type | Type 4840 Type | Type
4841testdata/Builtins.lc 214:15-214:16 4841testdata/Builtins.lc 214:15-214:16
@@ -4855,27 +4855,27 @@ testdata/Builtins.lc 214:35-214:38
4855testdata/Builtins.lc 214:36-214:37 4855testdata/Builtins.lc 214:36-214:37
4856 Type 4856 Type
4857testdata/Builtins.lc 215:1-215:10 4857testdata/Builtins.lc 215:1-215:10
4858 forall a b . (a -> List b) -> List a -> List b 4858 forall a b . (a -> [b]) -> [a] -> [b]
4859testdata/Builtins.lc 215:17-215:23 4859testdata/Builtins.lc 215:17-215:23
4860 forall a . List (List a) -> List a 4860 forall a . [[a]] -> [a]
4861testdata/Builtins.lc 215:17-215:33 4861testdata/Builtins.lc 215:17-215:33
4862 List _c 4862 [_c]
4863testdata/Builtins.lc 215:25-215:28 4863testdata/Builtins.lc 215:25-215:28
4864 forall a b . (a -> b) -> List a -> List b 4864 forall a b . (a -> b) -> [a] -> [b]
4865testdata/Builtins.lc 215:25-215:30 4865testdata/Builtins.lc 215:25-215:30
4866 List _e -> List (List _d) 4866 [_e] -> [[_d]]
4867testdata/Builtins.lc 215:25-215:32 4867testdata/Builtins.lc 215:25-215:32
4868 List (List _c) 4868 [[_c]]
4869testdata/Builtins.lc 215:29-215:30 4869testdata/Builtins.lc 215:29-215:30
4870 _g -> List _f 4870 _g -> [_f]
4871testdata/Builtins.lc 215:31-215:32 4871testdata/Builtins.lc 215:31-215:32
4872 List _d 4872 [_d]
4873testdata/Builtins.lc 217:1-217:4 4873testdata/Builtins.lc 217:1-217:4
4874 forall a . List a -> Int 4874 forall a . [a] -> Int
4875testdata/Builtins.lc 217:10-217:11 4875testdata/Builtins.lc 217:10-217:11
4876 _b 4876 _b
4877testdata/Builtins.lc 217:10-218:35 4877testdata/Builtins.lc 217:10-218:35
4878 List _b -> Int 4878 [_b] -> Int
4879testdata/Builtins.lc 218:14-218:15 4879testdata/Builtins.lc 218:14-218:15
4880 _b 4880 _b
4881testdata/Builtins.lc 218:14-218:28 4881testdata/Builtins.lc 218:14-218:28
@@ -4887,7 +4887,7 @@ testdata/Builtins.lc 218:16-218:28
4887testdata/Builtins.lc 218:29-218:32 4887testdata/Builtins.lc 218:29-218:32
4888 _h 4888 _h
4889testdata/Builtins.lc 218:33-218:35 4889testdata/Builtins.lc 218:33-218:35
4890 List _g 4890 [_g]
4891testdata/Builtins.lc 222:6-222:11 4891testdata/Builtins.lc 222:6-222:11
4892 Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type 4892 Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type
4893testdata/Builtins.lc 222:6-222:13 4893testdata/Builtins.lc 222:6-222:13
@@ -5073,12 +5073,11 @@ testdata/Builtins.lc 252:69-252:70
5073testdata/Builtins.lc 252:71-252:72 5073testdata/Builtins.lc 252:71-252:72
5074 Type 5074 Type
5075testdata/Builtins.lc 253:1-253:14 5075testdata/Builtins.lc 253:1-253:14
5076 forall a b (c :: PrimitiveType) 5076 forall a b (c :: PrimitiveType) . (a -> b) -> [Primitive a c] -> [Primitive b c]
5077 . (a -> b) -> List (Primitive a c) -> List (Primitive b c)
5078testdata/Builtins.lc 253:19-253:22 5077testdata/Builtins.lc 253:19-253:22
5079 forall a b . (a -> b) -> List a -> List b 5078 forall a b . (a -> b) -> [a] -> [b]
5080testdata/Builtins.lc 253:19-253:39 5079testdata/Builtins.lc 253:19-253:39
5081 List (Primitive _e _a) -> List (Primitive _d _a) 5080 [Primitive _e _a] -> [Primitive _d _a]
5082testdata/Builtins.lc 253:24-253:36 5081testdata/Builtins.lc 253:24-253:36
5083 forall a b (c :: PrimitiveType) . (a -> b) -> Primitive a c -> Primitive b c 5082 forall a b (c :: PrimitiveType) . (a -> b) -> Primitive a c -> Primitive b c
5084testdata/Builtins.lc 253:24-253:38 5083testdata/Builtins.lc 253:24-253:38
@@ -5090,7 +5089,7 @@ testdata/Builtins.lc 255:30-255:38
5090testdata/Builtins.lc 255:45-255:46 5089testdata/Builtins.lc 255:45-255:46
5091 Type 5090 Type
5092testdata/Builtins.lc 260:1-260:12 5091testdata/Builtins.lc 260:1-260:12
5093 forall (a :: PrimitiveType) (b :: List Type) (c :: List Type) 5092 forall (a :: PrimitiveType) (b :: [Type]) (c :: [Type])
5094 . (b ~ map Type Type ListElem c) => HList c -> PrimitiveStream a (HList b) 5093 . (b ~ map Type Type ListElem c) => HList c -> PrimitiveStream a (HList b)
5095testdata/Builtins.lc 260:32-260:119 5094testdata/Builtins.lc 260:32-260:119
5096 Type | Type | Type 5095 Type | Type | Type
@@ -5103,23 +5102,23 @@ testdata/Builtins.lc 260:56-260:75
5103testdata/Builtins.lc 260:58-260:59 5102testdata/Builtins.lc 260:58-260:59
5104 forall a . a -> a -> Type 5103 forall a . a -> a -> Type
5105testdata/Builtins.lc 260:60-260:63 5104testdata/Builtins.lc 260:60-260:63
5106 forall a b . (a -> b) -> List a -> List b 5105 forall a b . (a -> b) -> [a] -> [b]
5107testdata/Builtins.lc 260:60-260:72 5106testdata/Builtins.lc 260:60-260:72
5108 List Type -> List Type 5107 [Type] -> [Type]
5109testdata/Builtins.lc 260:60-260:75 5108testdata/Builtins.lc 260:60-260:75
5110 List Type 5109 [Type]
5111testdata/Builtins.lc 260:64-260:72 5110testdata/Builtins.lc 260:64-260:72
5112 Type -> Type 5111 Type -> Type
5113testdata/Builtins.lc 260:73-260:75 5112testdata/Builtins.lc 260:73-260:75
5114 _b 5113 _b
5115testdata/Builtins.lc 260:80-260:85 5114testdata/Builtins.lc 260:80-260:85
5116 List Type -> Type 5115 [Type] -> Type
5117testdata/Builtins.lc 260:80-260:88 5116testdata/Builtins.lc 260:80-260:88
5118 Type 5117 Type
5119testdata/Builtins.lc 260:80-260:119 5118testdata/Builtins.lc 260:80-260:119
5120 Type 5119 Type
5121testdata/Builtins.lc 260:86-260:88 5120testdata/Builtins.lc 260:86-260:88
5122 List Type 5121 [Type]
5123testdata/Builtins.lc 260:92-260:107 5122testdata/Builtins.lc 260:92-260:107
5124 PrimitiveType -> Type -> Type 5123 PrimitiveType -> Type -> Type
5125testdata/Builtins.lc 260:92-260:109 5124testdata/Builtins.lc 260:92-260:109
@@ -5129,20 +5128,20 @@ testdata/Builtins.lc 260:92-260:119
5129testdata/Builtins.lc 260:108-260:109 5128testdata/Builtins.lc 260:108-260:109
5130 _f 5129 _f
5131testdata/Builtins.lc 260:111-260:116 5130testdata/Builtins.lc 260:111-260:116
5132 List Type -> Type 5131 [Type] -> Type
5133testdata/Builtins.lc 260:111-260:118 5132testdata/Builtins.lc 260:111-260:118
5134 Type 5133 Type
5135testdata/Builtins.lc 260:117-260:118 5134testdata/Builtins.lc 260:117-260:118
5136 List Type 5135 [Type]
5137testdata/Builtins.lc 262:1-262:6 5136testdata/Builtins.lc 262:1-262:6
5138 forall (a :: PrimitiveType) (b :: List Type) 5137 forall (a :: PrimitiveType) (b :: [Type])
5139 . String -> HList b -> PrimitiveStream a (HList b) 5138 . String -> HList b -> PrimitiveStream a (HList b)
5140testdata/Builtins.lc 262:56-262:62 5139testdata/Builtins.lc 262:56-262:62
5141 Type 5140 Type
5142testdata/Builtins.lc 262:56-262:104 5141testdata/Builtins.lc 262:56-262:104
5143 Type | Type 5142 Type | Type
5144testdata/Builtins.lc 262:66-262:71 5143testdata/Builtins.lc 262:66-262:71
5145 List Type -> Type 5144 [Type] -> Type
5146testdata/Builtins.lc 262:66-262:73 5145testdata/Builtins.lc 262:66-262:73
5147 Type 5146 Type
5148testdata/Builtins.lc 262:66-262:104 5147testdata/Builtins.lc 262:66-262:104
@@ -5158,11 +5157,11 @@ testdata/Builtins.lc 262:77-262:104
5158testdata/Builtins.lc 262:93-262:94 5157testdata/Builtins.lc 262:93-262:94
5159 _e 5158 _e
5160testdata/Builtins.lc 262:96-262:101 5159testdata/Builtins.lc 262:96-262:101
5161 List Type -> Type 5160 [Type] -> Type
5162testdata/Builtins.lc 262:96-262:103 5161testdata/Builtins.lc 262:96-262:103
5163 Type 5162 Type
5164testdata/Builtins.lc 262:102-262:103 5163testdata/Builtins.lc 262:102-262:103
5165 List Type 5164 [Type]
5166testdata/Builtins.lc 264:1-264:10 5165testdata/Builtins.lc 264:1-264:10
5167 forall a . String -> a 5166 forall a . String -> a
5168testdata/Builtins.lc 264:14-264:20 5167testdata/Builtins.lc 264:14-264:20
@@ -5172,9 +5171,9 @@ testdata/Builtins.lc 264:14-264:25
5172testdata/Builtins.lc 264:24-264:25 5171testdata/Builtins.lc 264:24-264:25
5173 _c | Type 5172 _c | Type
5174testdata/Builtins.lc 266:1-266:12 5173testdata/Builtins.lc 266:1-266:12
5175 forall (a :: PrimitiveType) (b :: List Type) 5174 forall (a :: PrimitiveType) (b :: [Type])
5176 . String 5175 . String
5177 -> forall (c :: List String) 5176 -> forall (c :: [String])
5178 -> (len String c ~ len Type b) => PrimitiveStream a (HList b) 5177 -> (len String c ~ len Type b) => PrimitiveStream a (HList b)
5179testdata/Builtins.lc 266:31-266:37 5178testdata/Builtins.lc 266:31-266:37
5180 Type 5179 Type
@@ -5193,7 +5192,7 @@ testdata/Builtins.lc 266:65-266:73
5193testdata/Builtins.lc 266:66-266:72 5192testdata/Builtins.lc 266:66-266:72
5194 Type 5193 Type
5195testdata/Builtins.lc 266:78-266:81 5194testdata/Builtins.lc 266:78-266:81
5196 forall a . List a -> Int 5195 forall a . [a] -> Int
5197testdata/Builtins.lc 266:78-266:84 5196testdata/Builtins.lc 266:78-266:84
5198 Int 5197 Int
5199testdata/Builtins.lc 266:78-266:86 5198testdata/Builtins.lc 266:78-266:86
@@ -5203,15 +5202,15 @@ testdata/Builtins.lc 266:78-266:92
5203testdata/Builtins.lc 266:78-266:123 5202testdata/Builtins.lc 266:78-266:123
5204 Type 5203 Type
5205testdata/Builtins.lc 266:82-266:84 5204testdata/Builtins.lc 266:82-266:84
5206 List String 5205 [String]
5207testdata/Builtins.lc 266:85-266:86 5206testdata/Builtins.lc 266:85-266:86
5208 forall a . a -> a -> Type 5207 forall a . a -> a -> Type
5209testdata/Builtins.lc 266:87-266:90 5208testdata/Builtins.lc 266:87-266:90
5210 forall a . List a -> Int 5209 forall a . [a] -> Int
5211testdata/Builtins.lc 266:87-266:92 5210testdata/Builtins.lc 266:87-266:92
5212 Int 5211 Int
5213testdata/Builtins.lc 266:91-266:92 5212testdata/Builtins.lc 266:91-266:92
5214 List Type 5213 [Type]
5215testdata/Builtins.lc 266:96-266:111 5214testdata/Builtins.lc 266:96-266:111
5216 PrimitiveType -> Type -> Type 5215 PrimitiveType -> Type -> Type
5217testdata/Builtins.lc 266:96-266:113 5216testdata/Builtins.lc 266:96-266:113
@@ -5221,11 +5220,11 @@ testdata/Builtins.lc 266:96-266:123
5221testdata/Builtins.lc 266:112-266:113 5220testdata/Builtins.lc 266:112-266:113
5222 _f 5221 _f
5223testdata/Builtins.lc 266:115-266:120 5222testdata/Builtins.lc 266:115-266:120
5224 List Type -> Type 5223 [Type] -> Type
5225testdata/Builtins.lc 266:115-266:122 5224testdata/Builtins.lc 266:115-266:122
5226 Type 5225 Type
5227testdata/Builtins.lc 266:121-266:122 5226testdata/Builtins.lc 266:121-266:122
5228 List Type 5227 [Type]
5229testdata/Builtins.lc 270:6-270:14 5228testdata/Builtins.lc 270:6-270:14
5230 Nat -> Type -> Type 5229 Nat -> Type -> Type
5231testdata/Builtins.lc 270:21-270:27 5230testdata/Builtins.lc 270:21-270:27
@@ -5350,13 +5349,13 @@ testdata/Builtins.lc 281:75-281:76
5350testdata/Builtins.lc 282:1-282:16 5349testdata/Builtins.lc 282:1-282:16
5351 forall a (b :: Nat) 5350 forall a (b :: Nat)
5352 . (a -> Float) 5351 . (a -> Float)
5353 -> List (Vector b (Maybe (SimpleFragment a))) 5352 -> [Vector b (Maybe (SimpleFragment a))]
5354 -> List (Vector b (Maybe (SimpleFragment a))) 5353 -> [Vector b (Maybe (SimpleFragment a))]
5355testdata/Builtins.lc 282:21-282:24 5354testdata/Builtins.lc 282:21-282:24
5356 forall a b . (a -> b) -> List a -> List b 5355 forall a b . (a -> b) -> [a] -> [b]
5357testdata/Builtins.lc 282:21-282:43 5356testdata/Builtins.lc 282:21-282:43
5358 List (Vector _a (Maybe (SimpleFragment _d))) 5357 [Vector _a (Maybe (SimpleFragment _d))]
5359 -> List (Vector _a (Maybe (SimpleFragment _d))) 5358 -> [Vector _a (Maybe (SimpleFragment _d))]
5360testdata/Builtins.lc 282:26-282:40 5359testdata/Builtins.lc 282:26-282:40
5361 forall a (b :: Nat) . (a -> Float) -> Fragment b a -> Fragment b a 5360 forall a (b :: Nat) . (a -> Float) -> Fragment b a -> Fragment b a
5362testdata/Builtins.lc 282:26-282:42 5361testdata/Builtins.lc 282:26-282:42
@@ -5424,13 +5423,13 @@ testdata/Builtins.lc 286:74-286:75
5424testdata/Builtins.lc 287:1-287:16 5423testdata/Builtins.lc 287:1-287:16
5425 forall a (b :: Nat) 5424 forall a (b :: Nat)
5426 . (a -> Bool) 5425 . (a -> Bool)
5427 -> List (Vector b (Maybe (SimpleFragment a))) 5426 -> [Vector b (Maybe (SimpleFragment a))]
5428 -> List (Vector b (Maybe (SimpleFragment a))) 5427 -> [Vector b (Maybe (SimpleFragment a))]
5429testdata/Builtins.lc 287:21-287:24 5428testdata/Builtins.lc 287:21-287:24
5430 forall a b . (a -> b) -> List a -> List b 5429 forall a b . (a -> b) -> [a] -> [b]
5431testdata/Builtins.lc 287:21-287:43 5430testdata/Builtins.lc 287:21-287:43
5432 List (Vector _a (Maybe (SimpleFragment _d))) 5431 [Vector _a (Maybe (SimpleFragment _d))]
5433 -> List (Vector _a (Maybe (SimpleFragment _d))) 5432 -> [Vector _a (Maybe (SimpleFragment _d))]
5434testdata/Builtins.lc 287:26-287:40 5433testdata/Builtins.lc 287:26-287:40
5435 forall a (b :: Nat) . (a -> Bool) -> Fragment b a -> Fragment b a 5434 forall a (b :: Nat) . (a -> Bool) -> Fragment b a -> Fragment b a
5436testdata/Builtins.lc 287:26-287:42 5435testdata/Builtins.lc 287:26-287:42
@@ -5498,13 +5497,13 @@ testdata/Builtins.lc 291:68-291:69
5498testdata/Builtins.lc 292:1-292:13 5497testdata/Builtins.lc 292:1-292:13
5499 forall a b (c :: Nat) 5498 forall a b (c :: Nat)
5500 . (a -> b) 5499 . (a -> b)
5501 -> List (Vector c (Maybe (SimpleFragment a))) 5500 -> [Vector c (Maybe (SimpleFragment a))]
5502 -> List (Vector c (Maybe (SimpleFragment b))) 5501 -> [Vector c (Maybe (SimpleFragment b))]
5503testdata/Builtins.lc 292:18-292:21 5502testdata/Builtins.lc 292:18-292:21
5504 forall a b . (a -> b) -> List a -> List b 5503 forall a b . (a -> b) -> [a] -> [b]
5505testdata/Builtins.lc 292:18-292:37 5504testdata/Builtins.lc 292:18-292:37
5506 List (Vector _a (Maybe (SimpleFragment _e))) 5505 [Vector _a (Maybe (SimpleFragment _e))]
5507 -> List (Vector _a (Maybe (SimpleFragment _d))) 5506 -> [Vector _a (Maybe (SimpleFragment _d))]
5508testdata/Builtins.lc 292:23-292:34 5507testdata/Builtins.lc 292:23-292:34
5509 forall a b (c :: Nat) . (a -> b) -> Fragment c a -> Fragment c b 5508 forall a b (c :: Nat) . (a -> b) -> Fragment c a -> Fragment c b
5510testdata/Builtins.lc 292:23-292:36 5509testdata/Builtins.lc 292:23-292:36
@@ -6208,9 +6207,9 @@ testdata/Builtins.lc 463:26-463:56
6208testdata/Builtins.lc 463:27-463:40 6207testdata/Builtins.lc 463:27-463:40
6209 Type 6208 Type
6210testdata/Builtins.lc 463:27-463:55 6209testdata/Builtins.lc 463:27-463:55
6211 List Type 6210 [Type]
6212testdata/Builtins.lc 463:42-463:55 6211testdata/Builtins.lc 463:42-463:55
6213 Type | List Type 6212 Type | [Type]
6214testdata/Builtins.lc 464:29-464:97 6213testdata/Builtins.lc 464:29-464:97
6215 Type 6214 Type
6216testdata/Builtins.lc 464:29-465:74 6215testdata/Builtins.lc 464:29-465:74
@@ -6218,21 +6217,21 @@ testdata/Builtins.lc 464:29-465:74
6218testdata/Builtins.lc 464:30-464:62 6217testdata/Builtins.lc 464:30-464:62
6219 Type 6218 Type
6220testdata/Builtins.lc 464:30-464:96 6219testdata/Builtins.lc 464:30-464:96
6221 List Type 6220 [Type]
6222testdata/Builtins.lc 464:31-464:45 6221testdata/Builtins.lc 464:31-464:45
6223 Type 6222 Type
6224testdata/Builtins.lc 464:31-464:61 6223testdata/Builtins.lc 464:31-464:61
6225 List Type 6224 [Type]
6226testdata/Builtins.lc 464:47-464:61 6225testdata/Builtins.lc 464:47-464:61
6227 Type | List Type 6226 Type | [Type]
6228testdata/Builtins.lc 464:64-464:96 6227testdata/Builtins.lc 464:64-464:96
6229 Type | List Type 6228 Type | [Type]
6230testdata/Builtins.lc 464:65-464:79 6229testdata/Builtins.lc 464:65-464:79
6231 Type 6230 Type
6232testdata/Builtins.lc 464:65-464:95 6231testdata/Builtins.lc 464:65-464:95
6233 List Type 6232 [Type]
6234testdata/Builtins.lc 464:81-464:95 6233testdata/Builtins.lc 464:81-464:95
6235 Type | List Type 6234 Type | [Type]
6236testdata/Builtins.lc 465:29-465:32 6235testdata/Builtins.lc 465:29-465:32
6237 Nat -> Type -> Type 6236 Nat -> Type -> Type
6238testdata/Builtins.lc 465:29-465:34 6237testdata/Builtins.lc 465:29-465:34
@@ -6388,7 +6387,7 @@ testdata/Builtins.lc 478:42-478:56
6388testdata/Builtins.lc 478:55-478:56 6387testdata/Builtins.lc 478:55-478:56
6389 Type 6388 Type
6390testdata/Builtins.lc 480:1-480:19 6389testdata/Builtins.lc 480:1-480:19
6391 forall (a :: List Type) (b :: List Type) (c :: List Type) (d :: PrimitiveType) 6390 forall (a :: [Type]) (b :: [Type]) (c :: [Type]) (d :: PrimitiveType)
6392 . (map Type Type Interpolated a ~ b, c ~ : (Vec 4 Float) a) 6391 . (map Type Type Interpolated a ~ b, c ~ : (Vec 4 Float) a)
6393 => HList b 6392 => HList b
6394 -> RasterContext (HList c) d 6393 -> RasterContext (HList c) d
@@ -6396,13 +6395,13 @@ testdata/Builtins.lc 480:1-480:19
6396testdata/Builtins.lc 481:8-486:34 6395testdata/Builtins.lc 481:8-486:34
6397 Type | Type | Type | Type 6396 Type | Type | Type | Type
6398testdata/Builtins.lc 481:10-481:13 6397testdata/Builtins.lc 481:10-481:13
6399 forall a b . (a -> b) -> List a -> List b 6398 forall a b . (a -> b) -> [a] -> [b]
6400testdata/Builtins.lc 481:10-481:26 6399testdata/Builtins.lc 481:10-481:26
6401 List Type -> List Type 6400 [Type] -> [Type]
6402testdata/Builtins.lc 481:10-481:28 6401testdata/Builtins.lc 481:10-481:28
6403 List Type 6402 [Type]
6404testdata/Builtins.lc 481:10-481:30 6403testdata/Builtins.lc 481:10-481:30
6405 List Type -> Type 6404 [Type] -> Type
6406testdata/Builtins.lc 481:10-481:44 6405testdata/Builtins.lc 481:10-481:44
6407 Type 6406 Type
6408testdata/Builtins.lc 481:14-481:26 6407testdata/Builtins.lc 481:14-481:26
@@ -6430,25 +6429,25 @@ testdata/Builtins.lc 482:14-482:19
6430testdata/Builtins.lc 482:14-482:25 6429testdata/Builtins.lc 482:14-482:25
6431 Type 6430 Type
6432testdata/Builtins.lc 482:14-482:26 6431testdata/Builtins.lc 482:14-482:26
6433 List Type -> List Type 6432 [Type] -> [Type]
6434testdata/Builtins.lc 482:14-482:28 6433testdata/Builtins.lc 482:14-482:28
6435 List Type 6434 [Type]
6436testdata/Builtins.lc 482:18-482:19 6435testdata/Builtins.lc 482:18-482:19
6437 _b 6436 _b
6438testdata/Builtins.lc 482:20-482:25 6437testdata/Builtins.lc 482:20-482:25
6439 Type 6438 Type
6440testdata/Builtins.lc 482:25-482:26 6439testdata/Builtins.lc 482:25-482:26
6441 forall a . a -> List a -> List a 6440 forall a . a -> [a] -> [a]
6442testdata/Builtins.lc 482:27-482:28 6441testdata/Builtins.lc 482:27-482:28
6443 List Type 6442 [Type]
6444testdata/Builtins.lc 483:8-483:13 6443testdata/Builtins.lc 483:8-483:13
6445 List Type -> Type 6444 [Type] -> Type
6446testdata/Builtins.lc 483:8-483:27 6445testdata/Builtins.lc 483:8-483:27
6447 Type 6446 Type
6448testdata/Builtins.lc 483:8-486:34 6447testdata/Builtins.lc 483:8-486:34
6449 Type 6448 Type
6450testdata/Builtins.lc 483:14-483:27 6449testdata/Builtins.lc 483:14-483:27
6451 List Type 6450 [Type]
6452testdata/Builtins.lc 484:8-484:21 6451testdata/Builtins.lc 484:8-484:21
6453 Type -> PrimitiveType -> Type 6452 Type -> PrimitiveType -> Type
6454testdata/Builtins.lc 484:8-484:31 6453testdata/Builtins.lc 484:8-484:31
@@ -6458,11 +6457,11 @@ testdata/Builtins.lc 484:8-484:33
6458testdata/Builtins.lc 484:8-486:34 6457testdata/Builtins.lc 484:8-486:34
6459 Type 6458 Type
6460testdata/Builtins.lc 484:23-484:28 6459testdata/Builtins.lc 484:23-484:28
6461 List Type -> Type 6460 [Type] -> Type
6462testdata/Builtins.lc 484:23-484:30 6461testdata/Builtins.lc 484:23-484:30
6463 Type 6462 Type
6464testdata/Builtins.lc 484:29-484:30 6463testdata/Builtins.lc 484:29-484:30
6465 List Type 6464 [Type]
6466testdata/Builtins.lc 484:32-484:33 6465testdata/Builtins.lc 484:32-484:33
6467 _e 6466 _e
6468testdata/Builtins.lc 485:8-485:17 6467testdata/Builtins.lc 485:8-485:17
@@ -6474,11 +6473,11 @@ testdata/Builtins.lc 485:8-485:29
6474testdata/Builtins.lc 485:8-486:34 6473testdata/Builtins.lc 485:8-486:34
6475 Type 6474 Type
6476testdata/Builtins.lc 485:19-485:24 6475testdata/Builtins.lc 485:19-485:24
6477 List Type -> Type 6476 [Type] -> Type
6478testdata/Builtins.lc 485:19-485:26 6477testdata/Builtins.lc 485:19-485:26
6479 Type 6478 Type
6480testdata/Builtins.lc 485:25-485:26 6479testdata/Builtins.lc 485:25-485:26
6481 List Type 6480 [Type]
6482testdata/Builtins.lc 485:28-485:29 6481testdata/Builtins.lc 485:28-485:29
6483 PrimitiveType 6482 PrimitiveType
6484testdata/Builtins.lc 486:8-486:22 6483testdata/Builtins.lc 486:8-486:22
@@ -6490,30 +6489,29 @@ testdata/Builtins.lc 486:8-486:34
6490testdata/Builtins.lc 486:23-486:24 6489testdata/Builtins.lc 486:23-486:24
6491 _b 6490 _b
6492testdata/Builtins.lc 486:26-486:31 6491testdata/Builtins.lc 486:26-486:31
6493 List Type -> Type 6492 [Type] -> Type
6494testdata/Builtins.lc 486:26-486:33 6493testdata/Builtins.lc 486:26-486:33
6495 Type 6494 Type
6496testdata/Builtins.lc 486:32-486:33 6495testdata/Builtins.lc 486:32-486:33
6497 List Type 6496 [Type]
6498testdata/Builtins.lc 488:1-488:20 6497testdata/Builtins.lc 488:1-488:20
6499 forall (a :: List Type) (b :: PrimitiveType) 6498 forall (a :: [Type]) (b :: PrimitiveType)
6500 . RasterContext (HList (: (Vec 4 Float) a)) b 6499 . RasterContext (HList (: (Vec 4 Float) a)) b
6501 -> HList (map Type Type Interpolated a) 6500 -> HList (map Type Type Interpolated a)
6502 -> List (Primitive (HList (: (Vec 4 Float) a)) b) 6501 -> [Primitive (HList (: (Vec 4 Float) a)) b]
6503 -> List (Vector 1 (Maybe (SimpleFragment (HList a)))) 6502 -> [Vector 1 (Maybe (SimpleFragment (HList a)))]
6504testdata/Builtins.lc 488:32-488:38 6503testdata/Builtins.lc 488:32-488:38
6505 forall a . List (List a) -> List a 6504 forall a . [[a]] -> [a]
6506testdata/Builtins.lc 488:32-488:74 6505testdata/Builtins.lc 488:32-488:74
6507 List (Vector 1 (Maybe (SimpleFragment (HList _b)))) 6506 [Vector 1 (Maybe (SimpleFragment (HList _b)))]
6508testdata/Builtins.lc 488:40-488:43 6507testdata/Builtins.lc 488:40-488:43
6509 forall a b . (a -> b) -> List a -> List b 6508 forall a b . (a -> b) -> [a] -> [b]
6510testdata/Builtins.lc 488:40-488:71 6509testdata/Builtins.lc 488:40-488:71
6511 List (Primitive (HList (: (Vec 4 Float) _b)) _a) 6510 [Primitive (HList (: (Vec 4 Float) _b)) _a] -> [[Fragment 1 (HList _b)]]
6512 -> List (List (Fragment 1 (HList _b)))
6513testdata/Builtins.lc 488:40-488:73 6511testdata/Builtins.lc 488:40-488:73
6514 List (List (Fragment 1 (HList _b))) 6512 [[Fragment 1 (HList _b)]]
6515testdata/Builtins.lc 488:45-488:63 6513testdata/Builtins.lc 488:45-488:63
6516 forall (a :: List Type) (b :: List Type) (c :: List Type) (d :: PrimitiveType) 6514 forall (a :: [Type]) (b :: [Type]) (c :: [Type]) (d :: PrimitiveType)
6517 . (map Type Type Interpolated a ~ b, c ~ : (Vec 4 Float) a) 6515 . (map Type Type Interpolated a ~ b, c ~ : (Vec 4 Float) a)
6518 => HList b 6516 => HList b
6519 -> RasterContext (HList c) d 6517 -> RasterContext (HList c) d
@@ -6540,21 +6538,21 @@ testdata/Builtins.lc 492:12-492:15
6540testdata/Builtins.lc 492:12-492:23 6538testdata/Builtins.lc 492:12-492:23
6541 Type 6539 Type
6542testdata/Builtins.lc 492:12-495:50 6540testdata/Builtins.lc 492:12-495:50
6543 forall a . List a -> Type 6541 forall a . [a] -> Type
6544testdata/Builtins.lc 492:13-492:14 6542testdata/Builtins.lc 492:13-492:14
6545 _b 6543 _b
6546testdata/Builtins.lc 492:19-492:23 6544testdata/Builtins.lc 492:19-492:23
6547 Type | Type 6545 Type | Type
6548testdata/Builtins.lc 493:1-493:8 6546testdata/Builtins.lc 493:1-493:8
6549 forall a . List a -> Type 6547 forall a . [a] -> Type
6550testdata/Builtins.lc 493:14-493:19 6548testdata/Builtins.lc 493:14-493:19
6551 Type 6549 Type
6552testdata/Builtins.lc 493:14-495:50 6550testdata/Builtins.lc 493:14-495:50
6553 List _a -> Type | Type 6551 [_a] -> Type | Type
6554testdata/Builtins.lc 494:15-494:20 6552testdata/Builtins.lc 494:15-494:20
6555 Type 6553 Type
6556testdata/Builtins.lc 494:15-495:50 6554testdata/Builtins.lc 494:15-495:50
6557 List _c -> Type | Type 6555 [_c] -> Type | Type
6558testdata/Builtins.lc 495:22-495:25 6556testdata/Builtins.lc 495:22-495:25
6559 Type -> Type -> Type 6557 Type -> Type -> Type
6560testdata/Builtins.lc 495:22-495:33 6558testdata/Builtins.lc 495:22-495:33
@@ -6572,38 +6570,38 @@ testdata/Builtins.lc 495:29-495:30
6572testdata/Builtins.lc 495:31-495:32 6570testdata/Builtins.lc 495:31-495:32
6573 _c 6571 _c
6574testdata/Builtins.lc 495:35-495:42 6572testdata/Builtins.lc 495:35-495:42
6575 forall a . List a -> Type 6573 forall a . [a] -> Type
6576testdata/Builtins.lc 495:35-495:49 6574testdata/Builtins.lc 495:35-495:49
6577 Type 6575 Type
6578testdata/Builtins.lc 495:44-495:45 6576testdata/Builtins.lc 495:44-495:45
6579 _g 6577 _g
6580testdata/Builtins.lc 495:44-495:46 6578testdata/Builtins.lc 495:44-495:46
6581 List _f -> List _f 6579 [_f] -> [_f]
6582testdata/Builtins.lc 495:44-495:48 6580testdata/Builtins.lc 495:44-495:48
6583 List _e 6581 [_e]
6584testdata/Builtins.lc 495:45-495:46 6582testdata/Builtins.lc 495:45-495:46
6585 forall a . a -> List a -> List a 6583 forall a . a -> [a] -> [a]
6586testdata/Builtins.lc 495:46-495:48 6584testdata/Builtins.lc 495:46-495:48
6587 List _e 6585 [_e]
6588testdata/Builtins.lc 497:1-497:16 6586testdata/Builtins.lc 497:1-497:16
6589 List Type -> Type 6587 [Type] -> Type
6590testdata/Builtins.lc 497:21-497:28 6588testdata/Builtins.lc 497:21-497:28
6591 forall a . List a -> Type 6589 forall a . [a] -> Type
6592testdata/Builtins.lc 497:21-497:45 6590testdata/Builtins.lc 497:21-497:45
6593 Type 6591 Type
6594testdata/Builtins.lc 497:30-497:33 6592testdata/Builtins.lc 497:30-497:33
6595 forall a b . (a -> b) -> List a -> List b 6593 forall a b . (a -> b) -> [a] -> [b]
6596testdata/Builtins.lc 497:30-497:42 6594testdata/Builtins.lc 497:30-497:42
6597 List Type -> List Nat 6595 [Type] -> [Nat]
6598testdata/Builtins.lc 497:30-497:44 6596testdata/Builtins.lc 497:30-497:44
6599 List Nat 6597 [Nat]
6600testdata/Builtins.lc 497:34-497:42 6598testdata/Builtins.lc 497:34-497:42
6601 Type -> Nat 6599 Type -> Nat
6602testdata/Builtins.lc 497:43-497:44 6600testdata/Builtins.lc 497:43-497:44
6603 _b 6601 _b
6604testdata/Builtins.lc 509:6-509:17 6602testdata/Builtins.lc 509:6-509:17
6605 Nat -> List ImageKind -> Type | Nat -> List ImageKind -> Type | Nat 6603 Nat -> [ImageKind] -> Type | Nat -> [ImageKind] -> Type | Nat
6606 -> List ImageKind -> Type | Type | Type 6604 -> [ImageKind] -> Type | Type | Type
6607testdata/Builtins.lc 509:6-509:46 6605testdata/Builtins.lc 509:6-509:46
6608 Type 6606 Type
6609testdata/Builtins.lc 509:24-509:27 6607testdata/Builtins.lc 509:24-509:27
@@ -6621,31 +6619,30 @@ testdata/Builtins.lc 511:30-511:36
6621testdata/Builtins.lc 511:31-511:35 6619testdata/Builtins.lc 511:31-511:35
6622 Type 6620 Type
6623testdata/Builtins.lc 512:1-512:11 6621testdata/Builtins.lc 512:1-512:11
6624 List ImageKind -> List Type 6622 [ImageKind] -> [Type]
6625testdata/Builtins.lc 512:25-512:28 6623testdata/Builtins.lc 512:25-512:28
6626 forall a b . (a -> b) -> List a -> List b 6624 forall a b . (a -> b) -> [a] -> [b]
6627testdata/Builtins.lc 512:25-512:38 6625testdata/Builtins.lc 512:25-512:38
6628 List ImageKind -> List Type 6626 [ImageKind] -> [Type]
6629testdata/Builtins.lc 512:25-512:40 6627testdata/Builtins.lc 512:25-512:40
6630 List Type 6628 [Type]
6631testdata/Builtins.lc 512:25-513:31 6629testdata/Builtins.lc 512:25-513:31
6632 List Type -> ImageKind -> List Type | List Type | List Type 6630 [Type] -> ImageKind -> [Type] | [Type] | [Type]
6633testdata/Builtins.lc 512:29-512:38 6631testdata/Builtins.lc 512:29-512:38
6634 ImageKind -> Type 6632 ImageKind -> Type
6635testdata/Builtins.lc 512:39-512:40 6633testdata/Builtins.lc 512:39-512:40
6636 List _c 6634 [_c]
6637testdata/Builtins.lc 513:16-513:19 6635testdata/Builtins.lc 513:16-513:19
6638 forall a b . (a -> b) -> List a -> List b | forall a b 6636 forall a b . (a -> b) -> [a] -> [b] | forall a b
6639 . (a -> b) -> List a -> List b | forall a b . (a -> b) -> List a -> List b 6637 . (a -> b) -> [a] -> [b] | forall a b . (a -> b) -> [a] -> [b]
6640testdata/Builtins.lc 513:16-513:29 6638testdata/Builtins.lc 513:16-513:29
6641 List ImageKind -> List Type | List ImageKind -> List Type | List ImageKind 6639 [ImageKind] -> [Type] | [ImageKind] -> [Type] | [ImageKind] -> [Type]
6642 -> List Type
6643testdata/Builtins.lc 513:16-513:31 6640testdata/Builtins.lc 513:16-513:31
6644 List Type | List Type | List Type 6641 [Type] | [Type] | [Type]
6645testdata/Builtins.lc 513:20-513:29 6642testdata/Builtins.lc 513:20-513:29
6646 ImageKind -> Type | ImageKind -> Type | ImageKind -> Type 6643 ImageKind -> Type | ImageKind -> Type | ImageKind -> Type
6647testdata/Builtins.lc 513:30-513:31 6644testdata/Builtins.lc 513:30-513:31
6648 List ImageKind | List ImageKind | List ImageKind 6645 [ImageKind] | [ImageKind] | [ImageKind]
6649testdata/Builtins.lc 515:40-515:49 6646testdata/Builtins.lc 515:40-515:49
6650 Type | Type 6647 Type | Type
6651testdata/Builtins.lc 515:56-515:77 6648testdata/Builtins.lc 515:56-515:77
@@ -6653,7 +6650,7 @@ testdata/Builtins.lc 515:56-515:77
6653testdata/Builtins.lc 515:102-515:103 6650testdata/Builtins.lc 515:102-515:103
6654 ImageKind 6651 ImageKind
6655testdata/Builtins.lc 517:1-517:11 6652testdata/Builtins.lc 517:1-517:11
6656 forall (a :: List ImageKind) (b :: Nat) (c :: List Type) 6653 forall (a :: [ImageKind]) (b :: Nat) (c :: [Type])
6657 . (a ~ map Type ImageKind FragmentOperationKind c) 6654 . (a ~ map Type ImageKind FragmentOperationKind c)
6658 => HList c 6655 => HList c
6659 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a 6656 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a
@@ -6678,23 +6675,23 @@ testdata/Builtins.lc 517:50-517:81
6678testdata/Builtins.lc 517:52-517:53 6675testdata/Builtins.lc 517:52-517:53
6679 forall a . a -> a -> Type 6676 forall a . a -> a -> Type
6680testdata/Builtins.lc 517:54-517:57 6677testdata/Builtins.lc 517:54-517:57
6681 forall a b . (a -> b) -> List a -> List b 6678 forall a b . (a -> b) -> [a] -> [b]
6682testdata/Builtins.lc 517:54-517:79 6679testdata/Builtins.lc 517:54-517:79
6683 List Type -> List ImageKind 6680 [Type] -> [ImageKind]
6684testdata/Builtins.lc 517:54-517:81 6681testdata/Builtins.lc 517:54-517:81
6685 List ImageKind 6682 [ImageKind]
6686testdata/Builtins.lc 517:58-517:79 6683testdata/Builtins.lc 517:58-517:79
6687 Type -> ImageKind 6684 Type -> ImageKind
6688testdata/Builtins.lc 517:80-517:81 6685testdata/Builtins.lc 517:80-517:81
6689 List Type 6686 [Type]
6690testdata/Builtins.lc 517:86-517:91 6687testdata/Builtins.lc 517:86-517:91
6691 List Type -> Type 6688 [Type] -> Type
6692testdata/Builtins.lc 517:86-517:93 6689testdata/Builtins.lc 517:86-517:93
6693 Type 6690 Type
6694testdata/Builtins.lc 517:86-517:174 6691testdata/Builtins.lc 517:86-517:174
6695 Type 6692 Type
6696testdata/Builtins.lc 517:92-517:93 6693testdata/Builtins.lc 517:92-517:93
6697 List Type 6694 [Type]
6698testdata/Builtins.lc 517:97-517:111 6695testdata/Builtins.lc 517:97-517:111
6699 Nat -> Type -> Type 6696 Nat -> Type -> Type
6700testdata/Builtins.lc 517:97-517:113 6697testdata/Builtins.lc 517:97-517:113
@@ -6706,19 +6703,19 @@ testdata/Builtins.lc 517:97-517:174
6706testdata/Builtins.lc 517:112-517:113 6703testdata/Builtins.lc 517:112-517:113
6707 Nat 6704 Nat
6708testdata/Builtins.lc 517:115-517:120 6705testdata/Builtins.lc 517:115-517:120
6709 List Type -> Type 6706 [Type] -> Type
6710testdata/Builtins.lc 517:115-517:135 6707testdata/Builtins.lc 517:115-517:135
6711 Type 6708 Type
6712testdata/Builtins.lc 517:122-517:132 6709testdata/Builtins.lc 517:122-517:132
6713 List ImageKind -> List Type 6710 [ImageKind] -> [Type]
6714testdata/Builtins.lc 517:122-517:134 6711testdata/Builtins.lc 517:122-517:134
6715 List Type 6712 [Type]
6716testdata/Builtins.lc 517:133-517:134 6713testdata/Builtins.lc 517:133-517:134
6717 List ImageKind 6714 [ImageKind]
6718testdata/Builtins.lc 517:140-517:151 6715testdata/Builtins.lc 517:140-517:151
6719 Nat -> List ImageKind -> Type 6716 Nat -> [ImageKind] -> Type
6720testdata/Builtins.lc 517:140-517:153 6717testdata/Builtins.lc 517:140-517:153
6721 List ImageKind -> Type 6718 [ImageKind] -> Type
6722testdata/Builtins.lc 517:140-517:155 6719testdata/Builtins.lc 517:140-517:155
6723 Type 6720 Type
6724testdata/Builtins.lc 517:140-517:174 6721testdata/Builtins.lc 517:140-517:174
@@ -6726,17 +6723,17 @@ testdata/Builtins.lc 517:140-517:174
6726testdata/Builtins.lc 517:152-517:153 6723testdata/Builtins.lc 517:152-517:153
6727 Nat 6724 Nat
6728testdata/Builtins.lc 517:154-517:155 6725testdata/Builtins.lc 517:154-517:155
6729 List ImageKind 6726 [ImageKind]
6730testdata/Builtins.lc 517:159-517:170 6727testdata/Builtins.lc 517:159-517:170
6731 Nat -> List ImageKind -> Type 6728 Nat -> [ImageKind] -> Type
6732testdata/Builtins.lc 517:159-517:172 6729testdata/Builtins.lc 517:159-517:172
6733 List ImageKind -> Type 6730 [ImageKind] -> Type
6734testdata/Builtins.lc 517:159-517:174 6731testdata/Builtins.lc 517:159-517:174
6735 Type | Type 6732 Type | Type
6736testdata/Builtins.lc 517:171-517:172 6733testdata/Builtins.lc 517:171-517:172
6737 Nat 6734 Nat
6738testdata/Builtins.lc 517:173-517:174 6735testdata/Builtins.lc 517:173-517:174
6739 List ImageKind 6736 [ImageKind]
6740testdata/Builtins.lc 519:1-519:15 6737testdata/Builtins.lc 519:1-519:15
6741 forall a b . a -> b -> (a, b) 6738 forall a b . a -> b -> (a, b)
6742testdata/Builtins.lc 519:24-519:32 6739testdata/Builtins.lc 519:24-519:32
@@ -6746,13 +6743,14 @@ testdata/Builtins.lc 519:25-519:28
6746testdata/Builtins.lc 519:30-519:31 6743testdata/Builtins.lc 519:30-519:31
6747 _e | ((_b)) 6744 _e | ((_b))
6748testdata/Builtins.lc 520:1-520:8 6745testdata/Builtins.lc 520:1-520:8
6749 forall (a :: Nat) (b :: List Type) 6746 forall (a :: Nat) (b :: [Type])
6750 . FrameBuffer a (map Type ImageKind FragmentOperationKind b) 6747 . FrameBuffer a (map Type ImageKind FragmentOperationKind b)
6751 -> (HList b, List 6748 -> (HList b, [Fragment
6752 (Fragment a (HList (imageType' (map Type ImageKind FragmentOperationKind b))))) 6749 a
6750 (HList (imageType' (map Type ImageKind FragmentOperationKind b)))])
6753 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) 6751 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b)
6754testdata/Builtins.lc 520:25-520:35 6752testdata/Builtins.lc 520:25-520:35
6755 forall (a :: List ImageKind) (b :: Nat) (c :: List Type) 6753 forall (a :: [ImageKind]) (b :: Nat) (c :: [Type])
6756 . (a ~ map Type ImageKind FragmentOperationKind c) 6754 . (a ~ map Type ImageKind FragmentOperationKind c)
6757 => HList c 6755 => HList c
6758 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a 6756 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a
@@ -6784,7 +6782,7 @@ testdata/Builtins.lc 524:47-524:59
6784testdata/Builtins.lc 524:74-524:75 6782testdata/Builtins.lc 524:74-524:75
6785 ImageKind 6783 ImageKind
6786testdata/Builtins.lc 530:1-530:12 6784testdata/Builtins.lc 530:1-530:12
6787 forall (a :: List Type) 6785 forall (a :: [Type])
6788 . sameLayerCounts a 6786 . sameLayerCounts a
6789 => HList a 6787 => HList a
6790 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a) 6788 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a)
@@ -6795,23 +6793,23 @@ testdata/Builtins.lc 530:31-530:35
6795testdata/Builtins.lc 530:40-530:125 6793testdata/Builtins.lc 530:40-530:125
6796 Type 6794 Type
6797testdata/Builtins.lc 530:41-530:56 6795testdata/Builtins.lc 530:41-530:56
6798 List Type -> Type 6796 [Type] -> Type
6799testdata/Builtins.lc 530:41-530:58 6797testdata/Builtins.lc 530:41-530:58
6800 Type 6798 Type
6801testdata/Builtins.lc 530:57-530:58 6799testdata/Builtins.lc 530:57-530:58
6802 List Type 6800 [Type]
6803testdata/Builtins.lc 530:63-530:68 6801testdata/Builtins.lc 530:63-530:68
6804 List Type -> Type 6802 [Type] -> Type
6805testdata/Builtins.lc 530:63-530:70 6803testdata/Builtins.lc 530:63-530:70
6806 Type 6804 Type
6807testdata/Builtins.lc 530:63-530:125 6805testdata/Builtins.lc 530:63-530:125
6808 Type 6806 Type
6809testdata/Builtins.lc 530:69-530:70 6807testdata/Builtins.lc 530:69-530:70
6810 List Type 6808 [Type]
6811testdata/Builtins.lc 530:74-530:85 6809testdata/Builtins.lc 530:74-530:85
6812 Nat -> List ImageKind -> Type 6810 Nat -> [ImageKind] -> Type
6813testdata/Builtins.lc 530:74-530:104 6811testdata/Builtins.lc 530:74-530:104
6814 List ImageKind -> Type 6812 [ImageKind] -> Type
6815testdata/Builtins.lc 530:74-530:125 6813testdata/Builtins.lc 530:74-530:125
6816 Type | Type 6814 Type | Type
6817testdata/Builtins.lc 530:87-530:94 6815testdata/Builtins.lc 530:87-530:94
@@ -6819,40 +6817,40 @@ testdata/Builtins.lc 530:87-530:94
6819testdata/Builtins.lc 530:87-530:103 6817testdata/Builtins.lc 530:87-530:103
6820 Nat 6818 Nat
6821testdata/Builtins.lc 530:96-530:100 6819testdata/Builtins.lc 530:96-530:100
6822 forall a . List a -> a 6820 forall a . [a] -> a
6823testdata/Builtins.lc 530:96-530:102 6821testdata/Builtins.lc 530:96-530:102
6824 Type 6822 Type
6825testdata/Builtins.lc 530:101-530:102 6823testdata/Builtins.lc 530:101-530:102
6826 List Type 6824 [Type]
6827testdata/Builtins.lc 530:106-530:109 6825testdata/Builtins.lc 530:106-530:109
6828 forall a b . (a -> b) -> List a -> List b 6826 forall a b . (a -> b) -> [a] -> [b]
6829testdata/Builtins.lc 530:106-530:122 6827testdata/Builtins.lc 530:106-530:122
6830 List Type -> List ImageKind 6828 [Type] -> [ImageKind]
6831testdata/Builtins.lc 530:106-530:124 6829testdata/Builtins.lc 530:106-530:124
6832 List ImageKind 6830 [ImageKind]
6833testdata/Builtins.lc 530:110-530:122 6831testdata/Builtins.lc 530:110-530:122
6834 Type -> ImageKind 6832 Type -> ImageKind
6835testdata/Builtins.lc 530:123-530:124 6833testdata/Builtins.lc 530:123-530:124
6836 List Type 6834 [Type]
6837testdata/Builtins.lc 532:1-532:11 6835testdata/Builtins.lc 532:1-532:11
6838 forall (a :: List Type) 6836 forall (a :: [Type])
6839 . sameLayerCounts a 6837 . sameLayerCounts a
6840 => HList a 6838 => HList a
6841 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a) 6839 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a)
6842testdata/Builtins.lc 532:14-532:25 6840testdata/Builtins.lc 532:14-532:25
6843 forall (a :: List Type) 6841 forall (a :: [Type])
6844 . sameLayerCounts a 6842 . sameLayerCounts a
6845 => HList a 6843 => HList a
6846 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a) 6844 -> FrameBuffer (ImageLC (head Type a)) (map Type ImageKind GetImageKind a)
6847testdata/Builtins.lc 534:1-534:11 6845testdata/Builtins.lc 534:1-534:11
6848 forall (a :: Nat) (b :: List Type) c 6846 forall (a :: Nat) (b :: [Type]) c
6849 . HList b 6847 . HList b
6850 -> (c -> HList (imageType' (map Type ImageKind FragmentOperationKind b))) 6848 -> (c -> HList (imageType' (map Type ImageKind FragmentOperationKind b)))
6851 -> List (Vector a (Maybe (SimpleFragment c))) 6849 -> [Vector a (Maybe (SimpleFragment c))]
6852 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) 6850 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b)
6853 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b) 6851 -> FrameBuffer a (map Type ImageKind FragmentOperationKind b)
6854testdata/Builtins.lc 534:34-534:44 6852testdata/Builtins.lc 534:34-534:44
6855 forall (a :: List ImageKind) (b :: Nat) (c :: List Type) 6853 forall (a :: [ImageKind]) (b :: Nat) (c :: [Type])
6856 . (a ~ map Type ImageKind FragmentOperationKind c) 6854 . (a ~ map Type ImageKind FragmentOperationKind c)
6857 => HList c 6855 => HList c
6858 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a 6856 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a
@@ -6872,18 +6870,17 @@ testdata/Builtins.lc 534:45-534:48
6872testdata/Builtins.lc 534:50-534:62 6870testdata/Builtins.lc 534:50-534:62
6873 forall a b (c :: Nat) 6871 forall a b (c :: Nat)
6874 . (a -> b) 6872 . (a -> b)
6875 -> List (Vector c (Maybe (SimpleFragment a))) 6873 -> [Vector c (Maybe (SimpleFragment a))]
6876 -> List (Vector c (Maybe (SimpleFragment b))) 6874 -> [Vector c (Maybe (SimpleFragment b))]
6877testdata/Builtins.lc 534:50-534:70 6875testdata/Builtins.lc 534:50-534:70
6878 List (Vector _a (Maybe (SimpleFragment _c))) 6876 [Vector _a (Maybe (SimpleFragment _c))]
6879 -> List (Vector _a (Maybe (SimpleFragment _b))) 6877 -> [Vector _a (Maybe (SimpleFragment _b))]
6880testdata/Builtins.lc 534:50-534:75 6878testdata/Builtins.lc 534:50-534:75
6881 List 6879 [Vector
6882 (Vector 6880 _c
6883 _c 6881 (Maybe
6884 (Maybe 6882 (SimpleFragment
6885 (SimpleFragment 6883 (HList (imageType' (map Type ImageKind FragmentOperationKind _b)))))]
6886 (HList (imageType' (map Type ImageKind FragmentOperationKind _b))))))
6887testdata/Builtins.lc 534:63-534:70 6884testdata/Builtins.lc 534:63-534:70
6888 _k 6885 _k
6889testdata/Builtins.lc 534:71-534:75 6886testdata/Builtins.lc 534:71-534:75
@@ -6891,11 +6888,11 @@ testdata/Builtins.lc 534:71-534:75
6891testdata/Builtins.lc 534:77-534:79 6888testdata/Builtins.lc 534:77-534:79
6892 _e 6889 _e
6893testdata/Builtins.lc 537:1-537:9 6890testdata/Builtins.lc 537:1-537:9
6894 forall (a :: ImageKind) . FrameBuffer 1 (: a 'Nil) -> Image 1 a 6891 forall (a :: ImageKind) . FrameBuffer 1 (: a '[]) -> Image 1 a
6895testdata/Builtins.lc 537:24-537:35 6892testdata/Builtins.lc 537:24-537:35
6896 Nat -> List ImageKind -> Type 6893 Nat -> [ImageKind] -> Type
6897testdata/Builtins.lc 537:24-537:37 6894testdata/Builtins.lc 537:24-537:37
6898 List ImageKind -> Type 6895 [ImageKind] -> Type
6899testdata/Builtins.lc 537:24-537:42 6896testdata/Builtins.lc 537:24-537:42
6900 Type 6897 Type
6901testdata/Builtins.lc 537:24-537:55 6898testdata/Builtins.lc 537:24-537:55
@@ -6903,7 +6900,7 @@ testdata/Builtins.lc 537:24-537:55
6903testdata/Builtins.lc 537:36-537:37 6900testdata/Builtins.lc 537:36-537:37
6904 _b 6901 _b
6905testdata/Builtins.lc 537:38-537:42 6902testdata/Builtins.lc 537:38-537:42
6906 List ImageKind 6903 [ImageKind]
6907testdata/Builtins.lc 537:40-537:41 6904testdata/Builtins.lc 537:40-537:41
6908 _c 6905 _c
6909testdata/Builtins.lc 537:46-537:51 6906testdata/Builtins.lc 537:46-537:51
@@ -6917,24 +6914,24 @@ testdata/Builtins.lc 537:52-537:53
6917testdata/Builtins.lc 537:54-537:55 6914testdata/Builtins.lc 537:54-537:55
6918 ImageKind 6915 ImageKind
6919testdata/Builtins.lc 538:1-538:14 6916testdata/Builtins.lc 538:1-538:14
6920 FrameBuffer 1 (: 'Depth (: ('Color (Vec 4 Float)) 'Nil)) 6917 FrameBuffer 1 (: 'Depth (: ('Color (Vec 4 Float)) '[]))
6921 -> Image 1 ('Color (Vec 4 Float)) 6918 -> Image 1 ('Color (Vec 4 Float))
6922testdata/Builtins.lc 538:24-538:35 6919testdata/Builtins.lc 538:24-538:35
6923 Nat -> List ImageKind -> Type 6920 Nat -> [ImageKind] -> Type
6924testdata/Builtins.lc 538:24-538:37 6921testdata/Builtins.lc 538:24-538:37
6925 List ImageKind -> Type 6922 [ImageKind] -> Type
6926testdata/Builtins.lc 538:24-538:70 6923testdata/Builtins.lc 538:24-538:70
6927 Type 6924 Type
6928testdata/Builtins.lc 538:36-538:37 6925testdata/Builtins.lc 538:36-538:37
6929 _b 6926 _b
6930testdata/Builtins.lc 538:38-538:70 6927testdata/Builtins.lc 538:38-538:70
6931 List ImageKind 6928 [ImageKind]
6932testdata/Builtins.lc 538:41-538:47 6929testdata/Builtins.lc 538:41-538:47
6933 ImageKind 6930 ImageKind
6934testdata/Builtins.lc 538:49-538:55 6931testdata/Builtins.lc 538:49-538:55
6935 Type -> ImageKind 6932 Type -> ImageKind
6936testdata/Builtins.lc 538:49-538:69 6933testdata/Builtins.lc 538:49-538:69
6937 ImageKind | List ImageKind 6934 ImageKind | [ImageKind]
6938testdata/Builtins.lc 538:57-538:60 6935testdata/Builtins.lc 538:57-538:60
6939 Nat -> Type -> Type 6936 Nat -> Type -> Type
6940testdata/Builtins.lc 538:57-538:62 6937testdata/Builtins.lc 538:57-538:62
@@ -6972,12 +6969,12 @@ testdata/Builtins.lc 540:6-540:12
6972testdata/Builtins.lc 540:6-541:12 6969testdata/Builtins.lc 540:6-541:12
6973 Type 6970 Type
6974testdata/Builtins.lc 541:3-541:12 6971testdata/Builtins.lc 541:3-541:12
6975 forall (a :: Nat) (b :: List ImageKind) 6972 forall (a :: Nat) (b :: [ImageKind])
6976 . FrameBuffer a b -> Output | Output | Type | Type | Type | Type 6973 . FrameBuffer a b -> Output | Output | Type | Type | Type | Type
6977testdata/Builtins.lc 541:26-541:37 6974testdata/Builtins.lc 541:26-541:37
6978 Nat -> List ImageKind -> Type 6975 Nat -> [ImageKind] -> Type
6979testdata/Builtins.lc 541:26-541:39 6976testdata/Builtins.lc 541:26-541:39
6980 List ImageKind -> Type 6977 [ImageKind] -> Type
6981testdata/Builtins.lc 541:26-541:41 6978testdata/Builtins.lc 541:26-541:41
6982 Type 6979 Type
6983testdata/Builtins.lc 541:26-541:51 6980testdata/Builtins.lc 541:26-541:51
@@ -6989,9 +6986,9 @@ testdata/Builtins.lc 541:40-541:41
6989testdata/Builtins.lc 541:45-541:51 6986testdata/Builtins.lc 541:45-541:51
6990 Type | Type 6987 Type | Type
6991testdata/Builtins.lc 543:1-543:12 6988testdata/Builtins.lc 543:1-543:12
6992 forall (a :: Nat) (b :: List ImageKind) . FrameBuffer a b -> Output 6989 forall (a :: Nat) (b :: [ImageKind]) . FrameBuffer a b -> Output
6993testdata/Builtins.lc 543:15-543:24 6990testdata/Builtins.lc 543:15-543:24
6994 forall (a :: Nat) (b :: List ImageKind) . FrameBuffer a b -> Output 6991 forall (a :: Nat) (b :: [ImageKind]) . FrameBuffer a b -> Output
6995testdata/Builtins.lc 549:6-549:13 6992testdata/Builtins.lc 549:6-549:13
6996 Type | Type | Type | Type 6993 Type | Type | Type | Type
6997testdata/Builtins.lc 549:6-553:12 6994testdata/Builtins.lc 549:6-553:12