From c68613d03f2e918ff6e6d0ad05921d1108fe9470 Mon Sep 17 00:00:00 2001 From: Péter Diviánszky Date: Thu, 25 Feb 2016 10:50:18 +0100 Subject: do not wire-in ignoring .ignore tests --- lc/Builtins.lc | 1 + run-test-suite.sh | 4 +- test/runTests.hs | 7 +- testdata/Builtins.out | 3968 ++++++++++++++++++++++++------------------------- 4 files changed, 1990 insertions(+), 1990 deletions(-) diff --git a/lc/Builtins.lc b/lc/Builtins.lc index 6aac18f8..32c7e014 100644 --- a/lc/Builtins.lc +++ b/lc/Builtins.lc @@ -23,6 +23,7 @@ mapVec f (V4 x y z w) = V4 (f x) (f y) (f z) (f w) type family Vec (n :: Nat) t where Vec n t = VecS t n +-- type family VecScalar (n :: Nat) a = r | r -> n, r -> a where type family VecScalar (n :: Nat) a where VecScalar 1 a = a VecScalar ('Succ ('Succ n)) a = Vec ('Succ ('Succ n)) a diff --git a/run-test-suite.sh b/run-test-suite.sh index e8d6d9c6..5f644ca1 100755 --- a/run-test-suite.sh +++ b/run-test-suite.sh @@ -8,7 +8,7 @@ if [ "$1" == "--profile" ] ; then cabal configure --flags "profiling onlytestsuite" --enable-library-profiling --enable-executable-profiling set +e RESULT_UNITTESTS=0 - cabal run lambdacube-compiler-test-suite -- -r -iperformance $@ +RTS -p + cabal run lambdacube-compiler-test-suite -- -r -iperformance -i.ignore $@ +RTS -p RESULT_TESTS=`echo $?` elif [ "$1" == "--coverage" ] ; then shift @@ -26,7 +26,7 @@ else cabal install --only-dependencies -j1 cabal run lambdacube-compiler-unit-tests -- $UNIT_TEST_PARAMS RESULT_UNITTESTS=`echo $?` - cabal run lambdacube-compiler-test-suite -- -iperformance -r $@ + cabal run lambdacube-compiler-test-suite -- -iperformance -i.ignore -r $@ RESULT_TESTS=`echo $?` fi diff --git a/test/runTests.hs b/test/runTests.hs index dacd0002..f3021a2e 100644 --- a/test/runTests.hs +++ b/test/runTests.hs @@ -39,10 +39,9 @@ readFileStrict = fmap T.unpack . TIO.readFile getDirectoryContentsRecursive path = do l <- map (path ) . filter (`notElem` [".",".."]) <$> getDirectoryContents path - -- ignore sub directories that name include .ignore (++) - <$> (filter ((".lc" ==) . takeExtension) <$> filterM doesFileExist l) - <*> (fmap concat . mapM getDirectoryContentsRecursive . filter ((".ignore" `notElem`) . takeExtensions') =<< filterM doesDirectoryExist l) + <$> filterM doesFileExist l + <*> (fmap mconcat . traverse getDirectoryContentsRecursive =<< filterM doesDirectoryExist l) takeExtensions' :: FilePath -> [String] takeExtensions' = snd . splitExtensions' @@ -129,7 +128,7 @@ main = do info (helper <*> arguments) (fullDesc <> header "LambdaCube 3D compiler test suite") - testData <- getDirectoryContentsRecursive testDataPath + testData <- filter ((".lc" ==) . takeExtension) <$> getDirectoryContentsRecursive testDataPath -- select test set: all test or user selected let (ignoredTests, testSet) = partition (\d -> any (`isInfixOf` d) cfgIgnore) diff --git a/testdata/Builtins.out b/testdata/Builtins.out index c8415d52..d0226c4e 100644 --- a/testdata/Builtins.out +++ b/testdata/Builtins.out @@ -504,50 +504,28 @@ testdata/Builtins.lc 24:47-24:53 Nat->Type testdata/Builtins.lc 24:47-24:55 Nat -> Type->Type | Type | Type->Type testdata/Builtins.lc 24:52-24:53 Type testdata/Builtins.lc 24:54-24:55 Nat -testdata/Builtins.lc 26:29-26:32 Type -testdata/Builtins.lc 27:5-27:14 Nat -> Type->Type -testdata/Builtins.lc 27:21-27:22 Type -testdata/Builtins.lc 27:21-28:60 Nat -> Type->Type | Nat->Type | Type->Type -testdata/Builtins.lc 28:37-28:40 Nat -> Type->Type -testdata/Builtins.lc 28:37-28:58 Type->Type -testdata/Builtins.lc 28:37-28:60 Nat->Type | Type -testdata/Builtins.lc 28:42-28:47 Nat->Nat -testdata/Builtins.lc 28:42-28:57 Nat -testdata/Builtins.lc 28:49-28:54 Nat->Nat -testdata/Builtins.lc 28:49-28:56 Nat -testdata/Builtins.lc 28:55-28:56 Nat -testdata/Builtins.lc 28:59-28:60 Type -testdata/Builtins.lc 31:6-31:9 Nat -> Nat -> Type->Type | Type -testdata/Builtins.lc 31:6-40:84 Type -testdata/Builtins.lc 31:13-31:16 Type -testdata/Builtins.lc 31:20-31:23 Type -testdata/Builtins.lc 31:20-31:39 Type -testdata/Builtins.lc 31:27-31:31 Type -testdata/Builtins.lc 31:27-31:39 Type -testdata/Builtins.lc 31:35-31:39 Type -testdata/Builtins.lc 32:3-32:7 Mat 2 2 Float | Vec 2 Float -> Vec 2 Float -> Mat 2 2 Float -testdata/Builtins.lc 32:3-32:54 Type -testdata/Builtins.lc 32:11-32:14 Nat -> Type->Type -testdata/Builtins.lc 32:11-32:16 Type->Type -testdata/Builtins.lc 32:11-32:22 Type -testdata/Builtins.lc 32:15-32:16 V1 -testdata/Builtins.lc 32:17-32:22 Type -testdata/Builtins.lc 32:26-32:29 Nat -> Type->Type -testdata/Builtins.lc 32:26-32:31 Type->Type -testdata/Builtins.lc 32:26-32:37 Type -testdata/Builtins.lc 32:26-32:54 Type -testdata/Builtins.lc 32:30-32:31 V1 -testdata/Builtins.lc 32:32-32:37 Type -testdata/Builtins.lc 32:41-32:44 Nat -> Nat -> Type->Type -testdata/Builtins.lc 32:41-32:46 Nat -> Type->Type -testdata/Builtins.lc 32:41-32:48 Type->Type -testdata/Builtins.lc 32:41-32:54 Type -testdata/Builtins.lc 32:45-32:46 V1 -testdata/Builtins.lc 32:45-32:48 a:Type -> Mat 2 2 a -> Type -testdata/Builtins.lc 32:45-32:54 Mat 2 2 Float -> Type -testdata/Builtins.lc 32:47-32:48 V1 -testdata/Builtins.lc 32:49-32:54 Type -testdata/Builtins.lc 33:3-33:7 Mat 3 2 Float | Vec 3 Float -> Vec 3 Float -> Mat 3 2 Float +testdata/Builtins.lc 27:29-27:32 Type +testdata/Builtins.lc 28:5-28:14 Nat -> Type->Type +testdata/Builtins.lc 28:21-28:22 Type +testdata/Builtins.lc 28:21-29:60 Nat -> Type->Type | Nat->Type | Type->Type +testdata/Builtins.lc 29:37-29:40 Nat -> Type->Type +testdata/Builtins.lc 29:37-29:58 Type->Type +testdata/Builtins.lc 29:37-29:60 Nat->Type | Type +testdata/Builtins.lc 29:42-29:47 Nat->Nat +testdata/Builtins.lc 29:42-29:57 Nat +testdata/Builtins.lc 29:49-29:54 Nat->Nat +testdata/Builtins.lc 29:49-29:56 Nat +testdata/Builtins.lc 29:55-29:56 Nat +testdata/Builtins.lc 29:59-29:60 Type +testdata/Builtins.lc 32:6-32:9 Nat -> Nat -> Type->Type | Type +testdata/Builtins.lc 32:6-41:84 Type +testdata/Builtins.lc 32:13-32:16 Type +testdata/Builtins.lc 32:20-32:23 Type +testdata/Builtins.lc 32:20-32:39 Type +testdata/Builtins.lc 32:27-32:31 Type +testdata/Builtins.lc 32:27-32:39 Type +testdata/Builtins.lc 32:35-32:39 Type +testdata/Builtins.lc 33:3-33:7 Mat 2 2 Float | Vec 2 Float -> Vec 2 Float -> Mat 2 2 Float testdata/Builtins.lc 33:3-33:54 Type testdata/Builtins.lc 33:11-33:14 Nat -> Type->Type testdata/Builtins.lc 33:11-33:16 Type->Type @@ -565,11 +543,11 @@ testdata/Builtins.lc 33:41-33:46 Nat -> Type->Type testdata/Builtins.lc 33:41-33:48 Type->Type testdata/Builtins.lc 33:41-33:54 Type testdata/Builtins.lc 33:45-33:46 V1 -testdata/Builtins.lc 33:45-33:48 a:Type -> Mat 3 2 a -> Type -testdata/Builtins.lc 33:45-33:54 Mat 3 2 Float -> Type +testdata/Builtins.lc 33:45-33:48 a:Type -> Mat 2 2 a -> Type +testdata/Builtins.lc 33:45-33:54 Mat 2 2 Float -> Type testdata/Builtins.lc 33:47-33:48 V1 testdata/Builtins.lc 33:49-33:54 Type -testdata/Builtins.lc 34:3-34:7 Mat 4 2 Float | Vec 4 Float -> Vec 4 Float -> Mat 4 2 Float +testdata/Builtins.lc 34:3-34:7 Mat 3 2 Float | Vec 3 Float -> Vec 3 Float -> Mat 3 2 Float testdata/Builtins.lc 34:3-34:54 Type testdata/Builtins.lc 34:11-34:14 Nat -> Type->Type testdata/Builtins.lc 34:11-34:16 Type->Type @@ -587,12 +565,12 @@ testdata/Builtins.lc 34:41-34:46 Nat -> Type->Type testdata/Builtins.lc 34:41-34:48 Type->Type testdata/Builtins.lc 34:41-34:54 Type testdata/Builtins.lc 34:45-34:46 V1 -testdata/Builtins.lc 34:45-34:48 a:Type -> Mat 4 2 a -> Type -testdata/Builtins.lc 34:45-34:54 Mat 4 2 Float -> Type +testdata/Builtins.lc 34:45-34:48 a:Type -> Mat 3 2 a -> Type +testdata/Builtins.lc 34:45-34:54 Mat 3 2 Float -> Type testdata/Builtins.lc 34:47-34:48 V1 testdata/Builtins.lc 34:49-34:54 Type -testdata/Builtins.lc 35:3-35:7 Mat 2 3 Float | Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Mat 2 3 Float -testdata/Builtins.lc 35:3-35:69 Type +testdata/Builtins.lc 35:3-35:7 Mat 4 2 Float | Vec 4 Float -> Vec 4 Float -> Mat 4 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 @@ -601,25 +579,19 @@ 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:69 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 -> Type->Type -testdata/Builtins.lc 35:41-35:46 Type->Type -testdata/Builtins.lc 35:41-35:52 Type -testdata/Builtins.lc 35:41-35:69 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:47-35:52 Type -testdata/Builtins.lc 35:56-35:59 Nat -> Nat -> Type->Type -testdata/Builtins.lc 35:56-35:61 Nat -> Type->Type -testdata/Builtins.lc 35:56-35:63 Type->Type -testdata/Builtins.lc 35:56-35:69 Type -testdata/Builtins.lc 35:60-35:61 V1 -testdata/Builtins.lc 35:60-35:63 a:Type -> Mat 2 3 a -> Type -testdata/Builtins.lc 35:60-35:69 Mat 2 3 Float -> Type -testdata/Builtins.lc 35:62-35:63 V1 -testdata/Builtins.lc 35:64-35:69 Type -testdata/Builtins.lc 36:3-36:7 Mat 3 3 Float | Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 3 Float +testdata/Builtins.lc 35:45-35:48 a:Type -> Mat 4 2 a -> Type +testdata/Builtins.lc 35:45-35:54 Mat 4 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 2 3 Float | Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Mat 2 3 Float testdata/Builtins.lc 36:3-36:69 Type testdata/Builtins.lc 36:11-36:14 Nat -> Type->Type testdata/Builtins.lc 36:11-36:16 Type->Type @@ -643,11 +615,11 @@ testdata/Builtins.lc 36:56-36:61 Nat -> Type->Type testdata/Builtins.lc 36:56-36:63 Type->Type testdata/Builtins.lc 36:56-36:69 Type testdata/Builtins.lc 36:60-36:61 V1 -testdata/Builtins.lc 36:60-36:63 a:Type -> Mat 3 3 a -> Type -testdata/Builtins.lc 36:60-36:69 Mat 3 3 Float -> Type +testdata/Builtins.lc 36:60-36:63 a:Type -> Mat 2 3 a -> Type +testdata/Builtins.lc 36:60-36:69 Mat 2 3 Float -> Type testdata/Builtins.lc 36:62-36:63 V1 testdata/Builtins.lc 36:64-36:69 Type -testdata/Builtins.lc 37:3-37:7 Mat 4 3 Float | Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 3 Float +testdata/Builtins.lc 37:3-37:7 Mat 3 3 Float | Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 3 Float testdata/Builtins.lc 37:3-37:69 Type testdata/Builtins.lc 37:11-37:14 Nat -> Type->Type testdata/Builtins.lc 37:11-37:16 Type->Type @@ -671,12 +643,12 @@ testdata/Builtins.lc 37:56-37:61 Nat -> Type->Type testdata/Builtins.lc 37:56-37:63 Type->Type testdata/Builtins.lc 37:56-37:69 Type testdata/Builtins.lc 37:60-37:61 V1 -testdata/Builtins.lc 37:60-37:63 a:Type -> Mat 4 3 a -> Type -testdata/Builtins.lc 37:60-37:69 Mat 4 3 Float -> Type +testdata/Builtins.lc 37:60-37:63 a:Type -> Mat 3 3 a -> Type +testdata/Builtins.lc 37:60-37:69 Mat 3 3 Float -> Type testdata/Builtins.lc 37:62-37:63 V1 testdata/Builtins.lc 37:64-37:69 Type -testdata/Builtins.lc 38:3-38:7 Mat 2 4 Float | Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Mat 2 4 Float -testdata/Builtins.lc 38:3-38:84 Type +testdata/Builtins.lc 38:3-38:7 Mat 4 3 Float | Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 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 @@ -685,31 +657,25 @@ 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:84 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:84 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 -> Type->Type -testdata/Builtins.lc 38:56-38:61 Type->Type -testdata/Builtins.lc 38:56-38:67 Type -testdata/Builtins.lc 38:56-38:84 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:62-38:67 Type -testdata/Builtins.lc 38:71-38:74 Nat -> Nat -> Type->Type -testdata/Builtins.lc 38:71-38:76 Nat -> Type->Type -testdata/Builtins.lc 38:71-38:78 Type->Type -testdata/Builtins.lc 38:71-38:84 Type -testdata/Builtins.lc 38:75-38:76 V1 -testdata/Builtins.lc 38:75-38:78 a:Type -> Mat 2 4 a -> Type -testdata/Builtins.lc 38:75-38:84 Mat 2 4 Float -> Type -testdata/Builtins.lc 38:77-38:78 V1 -testdata/Builtins.lc 38:79-38:84 Type -testdata/Builtins.lc 39:3-39:7 Mat 3 4 Float | Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 4 Float +testdata/Builtins.lc 38:60-38:63 a:Type -> Mat 4 3 a -> Type +testdata/Builtins.lc 38:60-38:69 Mat 4 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 2 4 Float | Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Mat 2 4 Float testdata/Builtins.lc 39:3-39:84 Type testdata/Builtins.lc 39:11-39:14 Nat -> Type->Type testdata/Builtins.lc 39:11-39:16 Type->Type @@ -739,11 +705,11 @@ testdata/Builtins.lc 39:71-39:76 Nat -> Type->Type testdata/Builtins.lc 39:71-39:78 Type->Type testdata/Builtins.lc 39:71-39:84 Type testdata/Builtins.lc 39:75-39:76 V1 -testdata/Builtins.lc 39:75-39:78 a:Type -> Mat 3 4 a -> Type -testdata/Builtins.lc 39:75-39:84 Mat 3 4 Float -> Type +testdata/Builtins.lc 39:75-39:78 a:Type -> Mat 2 4 a -> Type +testdata/Builtins.lc 39:75-39:84 Mat 2 4 Float -> Type testdata/Builtins.lc 39:77-39:78 V1 testdata/Builtins.lc 39:79-39:84 Type -testdata/Builtins.lc 40:3-40:7 Mat 4 4 Float | Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float +testdata/Builtins.lc 40:3-40:7 Mat 3 4 Float | Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 4 Float testdata/Builtins.lc 40:3-40:84 Type testdata/Builtins.lc 40:11-40:14 Nat -> Type->Type testdata/Builtins.lc 40:11-40:16 Type->Type @@ -773,239 +739,252 @@ testdata/Builtins.lc 40:71-40:76 Nat -> Type->Type testdata/Builtins.lc 40:71-40:78 Type->Type testdata/Builtins.lc 40:71-40:84 Type testdata/Builtins.lc 40:75-40:76 V1 -testdata/Builtins.lc 40:75-40:78 a:Type -> Mat 4 4 a -> Type -testdata/Builtins.lc 40:75-40:84 Mat 4 4 Float -> Type +testdata/Builtins.lc 40:75-40:78 a:Type -> Mat 3 4 a -> Type +testdata/Builtins.lc 40:75-40:84 Mat 3 4 Float -> Type testdata/Builtins.lc 40:77-40:78 V1 testdata/Builtins.lc 40:79-40:84 Type -testdata/Builtins.lc 43:5-43:21 Type->Type -testdata/Builtins.lc 43:22-43:27 Type -testdata/Builtins.lc 43:22-43:35 Type->Type -testdata/Builtins.lc 43:22-47:37 Type | Type->Type -testdata/Builtins.lc 43:30-43:35 Type -testdata/Builtins.lc 44:22-44:26 Type -testdata/Builtins.lc 44:22-44:33 Type->Type -testdata/Builtins.lc 44:22-47:37 Type -testdata/Builtins.lc 44:29-44:33 Type -testdata/Builtins.lc 45:22-45:25 Type -testdata/Builtins.lc 45:22-45:31 Type->Type -testdata/Builtins.lc 45:22-47:37 Type -testdata/Builtins.lc 45:28-45:31 Type -testdata/Builtins.lc 46:23-46:27 Type -testdata/Builtins.lc 46:23-46:36 Type->Type -testdata/Builtins.lc 46:23-47:37 Type -testdata/Builtins.lc 46:35-46:36 Nat->Type | Type | Type -> Nat->Type -testdata/Builtins.lc 47:23-47:26 Type -testdata/Builtins.lc 47:23-47:37 Type->Type -testdata/Builtins.lc 47:36-47:37 Nat -> Nat -> Type->Type | Nat -> Type->Type | Type | Type->Type -testdata/Builtins.lc 51:7-51:13 Type->Type -testdata/Builtins.lc 53:25-53:28 Type -testdata/Builtins.lc 53:25-54:30 Type | Type->Type -testdata/Builtins.lc 54:25-54:30 Type -testdata/Builtins.lc 56:7-56:16 Type->Type -testdata/Builtins.lc 56:7-57:12 Type -testdata/Builtins.lc 56:7-58:11 Type -testdata/Builtins.lc 57:3-57:7 {a} -> {b : Component a}->a -testdata/Builtins.lc 57:11-57:12 Type -testdata/Builtins.lc 58:3-58:6 {a} -> {b : Component a}->a -testdata/Builtins.lc 58:10-58:11 Type -testdata/Builtins.lc 60:20-60:23 Type -testdata/Builtins.lc 60:20-61:18 V1->V2 -testdata/Builtins.lc 60:20-62:17 V1->V2 -testdata/Builtins.lc 60:20-78:24 Type | Type->Type -testdata/Builtins.lc 60:20-88:36 V1 | {a : Component V0}->V1 | {a} -> {b : Component a}->a -testdata/Builtins.lc 60:20-89:31 V1 | {a : Component V0}->V1 | {a} -> {b : Component a}->a -testdata/Builtins.lc 61:10-61:11 V1 -testdata/Builtins.lc 61:15-61:18 Type -testdata/Builtins.lc 62:9-62:10 V1 -testdata/Builtins.lc 62:14-62:17 Type -testdata/Builtins.lc 63:20-63:24 Type -testdata/Builtins.lc 63:20-64:19 V1->V2 -testdata/Builtins.lc 63:20-65:18 V1->V2 -testdata/Builtins.lc 63:20-78:24 Type -testdata/Builtins.lc 63:20-88:36 V1 -testdata/Builtins.lc 63:20-89:31 V1 -testdata/Builtins.lc 64:10-64:11 V1 -testdata/Builtins.lc 64:15-64:19 Type -testdata/Builtins.lc 65:9-65:10 V1 -testdata/Builtins.lc 65:14-65:18 Type -testdata/Builtins.lc 66:20-66:25 Type -testdata/Builtins.lc 66:20-67:13 V1->V2 -testdata/Builtins.lc 66:20-68:12 V1->V2 -testdata/Builtins.lc 66:20-78:24 Type -testdata/Builtins.lc 66:20-88:36 V1 -testdata/Builtins.lc 66:20-89:31 V1 -testdata/Builtins.lc 67:10-67:13 Float -testdata/Builtins.lc 68:9-68:12 Float -testdata/Builtins.lc 69:21-69:25 Type -testdata/Builtins.lc 69:21-78:24 Type -testdata/Builtins.lc 69:21-88:36 V1->V2 -testdata/Builtins.lc 69:21-89:31 V1->V2 -testdata/Builtins.lc 70:10-70:12 {a} -> a -> a -> VecS a 2 -testdata/Builtins.lc 70:10-70:16 Float -> VecS Float 2 -testdata/Builtins.lc 70:10-70:20 VecS Float 2 -testdata/Builtins.lc 70:10-76:28 a:Nat -> VecS Float ('Succ ('Succ a)) | a:Nat -> VecS Float ('Succ a) -testdata/Builtins.lc 70:10-88:36 VecS V1 V0 | a:Nat -> VecS V1 a | a:Type -> b:Nat -> VecS a b -testdata/Builtins.lc 70:13-70:16 Float -testdata/Builtins.lc 70:17-70:20 Float -testdata/Builtins.lc 71:9-71:11 {a} -> a -> a -> VecS a 2 -testdata/Builtins.lc 71:9-71:15 Float -> VecS Float 2 -testdata/Builtins.lc 71:9-71:19 VecS Float 2 -testdata/Builtins.lc 71:9-77:27 a:Nat -> VecS Float ('Succ ('Succ a)) | a:Nat -> VecS Float ('Succ a) -testdata/Builtins.lc 71:9-89:31 VecS V1 V0 | a:Nat -> VecS V1 a | a:Type -> b:Nat -> VecS a b -testdata/Builtins.lc 71:12-71:15 Float -testdata/Builtins.lc 71:16-71:19 Float -testdata/Builtins.lc 73:10-73:12 {a} -> a -> a -> a -> VecS a 3 -testdata/Builtins.lc 73:10-73:16 Float -> Float -> VecS Float 3 -testdata/Builtins.lc 73:10-73:20 Float -> VecS Float 3 -testdata/Builtins.lc 73:10-73:24 VecS Float 3 -testdata/Builtins.lc 73:10-76:28 a:Nat -> VecS Float ('Succ ('Succ ('Succ a))) -testdata/Builtins.lc 73:13-73:16 Float -testdata/Builtins.lc 73:17-73:20 Float -testdata/Builtins.lc 73:21-73:24 Float -testdata/Builtins.lc 74:9-74:11 {a} -> a -> a -> a -> VecS a 3 -testdata/Builtins.lc 74:9-74:15 Float -> Float -> VecS Float 3 -testdata/Builtins.lc 74:9-74:19 Float -> VecS Float 3 -testdata/Builtins.lc 74:9-74:23 VecS Float 3 -testdata/Builtins.lc 74:9-77:27 a:Nat -> VecS Float ('Succ ('Succ ('Succ a))) -testdata/Builtins.lc 74:12-74:15 Float -testdata/Builtins.lc 74:16-74:19 Float -testdata/Builtins.lc 74:20-74:23 Float -testdata/Builtins.lc 76:10-76:12 {a} -> a -> a -> a -> a -> VecS a 4 -testdata/Builtins.lc 76:10-76:16 Float -> Float -> Float -> VecS Float 4 -testdata/Builtins.lc 76:10-76:20 Float -> Float -> VecS Float 4 -testdata/Builtins.lc 76:10-76:24 Float -> VecS Float 4 -testdata/Builtins.lc 76:10-76:28 VecS Float 4 | a:Nat -> VecS Float ('Succ ('Succ ('Succ ('Succ a)))) -testdata/Builtins.lc 76:13-76:16 Float -testdata/Builtins.lc 76:17-76:20 Float -testdata/Builtins.lc 76:21-76:24 Float -testdata/Builtins.lc 76:25-76:28 Float -testdata/Builtins.lc 77:9-77:11 {a} -> a -> a -> a -> a -> VecS a 4 -testdata/Builtins.lc 77:9-77:15 Float -> Float -> Float -> VecS Float 4 -testdata/Builtins.lc 77:9-77:19 Float -> Float -> VecS Float 4 -testdata/Builtins.lc 77:9-77:23 Float -> VecS Float 4 -testdata/Builtins.lc 77:9-77:27 VecS Float 4 | a:Nat -> VecS Float ('Succ ('Succ ('Succ ('Succ a)))) -testdata/Builtins.lc 77:12-77:15 Float -testdata/Builtins.lc 77:16-77:19 Float -testdata/Builtins.lc 77:20-77:23 Float -testdata/Builtins.lc 77:24-77:27 Float -testdata/Builtins.lc 78:20-78:24 Type -testdata/Builtins.lc 78:20-79:15 V1->V2 -testdata/Builtins.lc 78:20-80:13 V1->V2 -testdata/Builtins.lc 79:10-79:15 Bool -testdata/Builtins.lc 80:9-80:13 Bool -testdata/Builtins.lc 82:10-82:12 {a} -> a -> a -> VecS a 2 -testdata/Builtins.lc 82:10-82:18 Bool -> VecS Bool 2 -testdata/Builtins.lc 82:10-82:24 VecS Bool 2 -testdata/Builtins.lc 82:10-88:36 a:Nat -> VecS Bool ('Succ ('Succ a)) | a:Nat -> VecS Bool ('Succ a) -testdata/Builtins.lc 82:13-82:18 Bool -testdata/Builtins.lc 82:19-82:24 Bool -testdata/Builtins.lc 83:9-83:11 {a} -> a -> a -> VecS a 2 -testdata/Builtins.lc 83:9-83:16 Bool -> VecS Bool 2 -testdata/Builtins.lc 83:9-83:21 VecS Bool 2 -testdata/Builtins.lc 83:9-89:31 a:Nat -> VecS Bool ('Succ ('Succ a)) | a:Nat -> VecS Bool ('Succ a) -testdata/Builtins.lc 83:12-83:16 Bool -testdata/Builtins.lc 83:17-83:21 Bool -testdata/Builtins.lc 85:10-85:12 {a} -> a -> a -> a -> VecS a 3 -testdata/Builtins.lc 85:10-85:18 Bool -> Bool -> VecS Bool 3 -testdata/Builtins.lc 85:10-85:24 Bool -> VecS Bool 3 -testdata/Builtins.lc 85:10-85:30 VecS Bool 3 -testdata/Builtins.lc 85:10-88:36 a:Nat -> VecS Bool ('Succ ('Succ ('Succ a))) -testdata/Builtins.lc 85:13-85:18 Bool -testdata/Builtins.lc 85:19-85:24 Bool -testdata/Builtins.lc 85:25-85:30 Bool -testdata/Builtins.lc 86:9-86:11 {a} -> a -> a -> a -> VecS a 3 -testdata/Builtins.lc 86:9-86:16 Bool -> Bool -> VecS Bool 3 -testdata/Builtins.lc 86:9-86:21 Bool -> VecS Bool 3 -testdata/Builtins.lc 86:9-86:26 VecS Bool 3 -testdata/Builtins.lc 86:9-89:31 a:Nat -> VecS Bool ('Succ ('Succ ('Succ a))) -testdata/Builtins.lc 86:12-86:16 Bool -testdata/Builtins.lc 86:17-86:21 Bool -testdata/Builtins.lc 86:22-86:26 Bool -testdata/Builtins.lc 88:10-88:12 {a} -> a -> a -> a -> a -> VecS a 4 -testdata/Builtins.lc 88:10-88:18 Bool -> Bool -> Bool -> VecS Bool 4 -testdata/Builtins.lc 88:10-88:24 Bool -> Bool -> VecS Bool 4 -testdata/Builtins.lc 88:10-88:30 Bool -> VecS Bool 4 -testdata/Builtins.lc 88:10-88:36 VecS Bool 4 | a:Nat -> VecS Bool ('Succ ('Succ ('Succ ('Succ a)))) -testdata/Builtins.lc 88:13-88:18 Bool -testdata/Builtins.lc 88:19-88:24 Bool -testdata/Builtins.lc 88:25-88:30 Bool -testdata/Builtins.lc 88:31-88:36 Bool -testdata/Builtins.lc 89:9-89:11 {a} -> a -> a -> a -> a -> VecS a 4 -testdata/Builtins.lc 89:9-89:16 Bool -> Bool -> Bool -> VecS Bool 4 -testdata/Builtins.lc 89:9-89:21 Bool -> Bool -> VecS Bool 4 -testdata/Builtins.lc 89:9-89:26 Bool -> VecS Bool 4 -testdata/Builtins.lc 89:9-89:31 VecS Bool 4 | a:Nat -> VecS Bool ('Succ ('Succ ('Succ ('Succ a)))) -testdata/Builtins.lc 89:12-89:16 Bool -testdata/Builtins.lc 89:17-89:21 Bool -testdata/Builtins.lc 89:22-89:26 Bool -testdata/Builtins.lc 89:27-89:31 Bool -testdata/Builtins.lc 91:7-91:15 Type->Type -testdata/Builtins.lc 93:25-93:28 Type -testdata/Builtins.lc 93:25-94:29 Type | Type->Type -testdata/Builtins.lc 94:25-94:29 Type -testdata/Builtins.lc 96:7-96:15 Type->Type -testdata/Builtins.lc 98:25-98:30 Type -testdata/Builtins.lc 98:25-102:29 Type | Type->Type -testdata/Builtins.lc 99:26-99:30 Type -testdata/Builtins.lc 99:26-102:29 Type -testdata/Builtins.lc 102:26-102:29 Type -testdata/Builtins.lc 117:1-117:8 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a -testdata/Builtins.lc 117:10-117:17 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a -testdata/Builtins.lc 117:19-117:26 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a -testdata/Builtins.lc 117:34-117:37 Type->Type -testdata/Builtins.lc 117:34-117:58 Type -testdata/Builtins.lc 117:34-117:73 Type -testdata/Builtins.lc 117:39-117:55 Type->Type -testdata/Builtins.lc 117:39-117:57 Type -testdata/Builtins.lc 117:56-117:57 V1 -testdata/Builtins.lc 117:62-117:63 Type -testdata/Builtins.lc 117:62-117:73 Type -testdata/Builtins.lc 117:67-117:68 Type -testdata/Builtins.lc 117:67-117:73 Type -testdata/Builtins.lc 117:72-117:73 Type -testdata/Builtins.lc 118:1-118:9 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b -testdata/Builtins.lc 118:11-118:19 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b -testdata/Builtins.lc 118:21-118:29 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b -testdata/Builtins.lc 118:34-118:80 Type -testdata/Builtins.lc 118:35-118:36 V4 -testdata/Builtins.lc 118:35-118:38 V3->Type -testdata/Builtins.lc 118:35-118:57 Type -testdata/Builtins.lc 118:37-118:38 {a} -> a -> a->Type +testdata/Builtins.lc 41:3-41:7 Mat 4 4 Float | Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 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 4 4 a -> Type +testdata/Builtins.lc 41:75-41:84 Mat 4 4 Float -> Type +testdata/Builtins.lc 41:77-41:78 V1 +testdata/Builtins.lc 41:79-41:84 Type +testdata/Builtins.lc 44:5-44:21 Type->Type +testdata/Builtins.lc 44:22-44:27 Type +testdata/Builtins.lc 44:22-44:35 Type->Type +testdata/Builtins.lc 44:22-48:37 Type | Type->Type +testdata/Builtins.lc 44:30-44:35 Type +testdata/Builtins.lc 45:22-45:26 Type +testdata/Builtins.lc 45:22-45:33 Type->Type +testdata/Builtins.lc 45:22-48:37 Type +testdata/Builtins.lc 45:29-45:33 Type +testdata/Builtins.lc 46:22-46:25 Type +testdata/Builtins.lc 46:22-46:31 Type->Type +testdata/Builtins.lc 46:22-48:37 Type +testdata/Builtins.lc 46:28-46:31 Type +testdata/Builtins.lc 47:23-47:27 Type +testdata/Builtins.lc 47:23-47:36 Type->Type +testdata/Builtins.lc 47:23-48:37 Type +testdata/Builtins.lc 47:35-47:36 Nat->Type | Type | Type -> Nat->Type +testdata/Builtins.lc 48:23-48:26 Type +testdata/Builtins.lc 48:23-48:37 Type->Type +testdata/Builtins.lc 48:36-48:37 Nat -> Nat -> Type->Type | Nat -> Type->Type | Type | Type->Type +testdata/Builtins.lc 52:7-52:13 Type->Type +testdata/Builtins.lc 54:25-54:28 Type +testdata/Builtins.lc 54:25-55:30 Type | Type->Type +testdata/Builtins.lc 55:25-55:30 Type +testdata/Builtins.lc 57:7-57:16 Type->Type +testdata/Builtins.lc 57:7-58:12 Type +testdata/Builtins.lc 57:7-59:11 Type +testdata/Builtins.lc 58:3-58:7 {a} -> {b : Component a}->a +testdata/Builtins.lc 58:11-58:12 Type +testdata/Builtins.lc 59:3-59:6 {a} -> {b : Component a}->a +testdata/Builtins.lc 59:10-59:11 Type +testdata/Builtins.lc 61:20-61:23 Type +testdata/Builtins.lc 61:20-62:18 V1->V2 +testdata/Builtins.lc 61:20-63:17 V1->V2 +testdata/Builtins.lc 61:20-79:24 Type | Type->Type +testdata/Builtins.lc 61:20-89:36 V1 | {a : Component V0}->V1 | {a} -> {b : Component a}->a +testdata/Builtins.lc 61:20-90:31 V1 | {a : Component V0}->V1 | {a} -> {b : Component a}->a +testdata/Builtins.lc 62:10-62:11 V1 +testdata/Builtins.lc 62:15-62:18 Type +testdata/Builtins.lc 63:9-63:10 V1 +testdata/Builtins.lc 63:14-63:17 Type +testdata/Builtins.lc 64:20-64:24 Type +testdata/Builtins.lc 64:20-65:19 V1->V2 +testdata/Builtins.lc 64:20-66:18 V1->V2 +testdata/Builtins.lc 64:20-79:24 Type +testdata/Builtins.lc 64:20-89:36 V1 +testdata/Builtins.lc 64:20-90:31 V1 +testdata/Builtins.lc 65:10-65:11 V1 +testdata/Builtins.lc 65:15-65:19 Type +testdata/Builtins.lc 66:9-66:10 V1 +testdata/Builtins.lc 66:14-66:18 Type +testdata/Builtins.lc 67:20-67:25 Type +testdata/Builtins.lc 67:20-68:13 V1->V2 +testdata/Builtins.lc 67:20-69:12 V1->V2 +testdata/Builtins.lc 67:20-79:24 Type +testdata/Builtins.lc 67:20-89:36 V1 +testdata/Builtins.lc 67:20-90:31 V1 +testdata/Builtins.lc 68:10-68:13 Float +testdata/Builtins.lc 69:9-69:12 Float +testdata/Builtins.lc 70:21-70:25 Type +testdata/Builtins.lc 70:21-79:24 Type +testdata/Builtins.lc 70:21-89:36 V1->V2 +testdata/Builtins.lc 70:21-90:31 V1->V2 +testdata/Builtins.lc 71:10-71:12 {a} -> a -> a -> VecS a 2 +testdata/Builtins.lc 71:10-71:16 Float -> VecS Float 2 +testdata/Builtins.lc 71:10-71:20 VecS Float 2 +testdata/Builtins.lc 71:10-77:28 a:Nat -> VecS Float ('Succ ('Succ a)) | a:Nat -> VecS Float ('Succ a) +testdata/Builtins.lc 71:10-89:36 VecS V1 V0 | a:Nat -> VecS V1 a | a:Type -> b:Nat -> VecS a b +testdata/Builtins.lc 71:13-71:16 Float +testdata/Builtins.lc 71:17-71:20 Float +testdata/Builtins.lc 72:9-72:11 {a} -> a -> a -> VecS a 2 +testdata/Builtins.lc 72:9-72:15 Float -> VecS Float 2 +testdata/Builtins.lc 72:9-72:19 VecS Float 2 +testdata/Builtins.lc 72:9-78:27 a:Nat -> VecS Float ('Succ ('Succ a)) | a:Nat -> VecS Float ('Succ a) +testdata/Builtins.lc 72:9-90:31 VecS V1 V0 | a:Nat -> VecS V1 a | a:Type -> b:Nat -> VecS a b +testdata/Builtins.lc 72:12-72:15 Float +testdata/Builtins.lc 72:16-72:19 Float +testdata/Builtins.lc 74:10-74:12 {a} -> a -> a -> a -> VecS a 3 +testdata/Builtins.lc 74:10-74:16 Float -> Float -> VecS Float 3 +testdata/Builtins.lc 74:10-74:20 Float -> VecS Float 3 +testdata/Builtins.lc 74:10-74:24 VecS Float 3 +testdata/Builtins.lc 74:10-77:28 a:Nat -> VecS Float ('Succ ('Succ ('Succ a))) +testdata/Builtins.lc 74:13-74:16 Float +testdata/Builtins.lc 74:17-74:20 Float +testdata/Builtins.lc 74:21-74:24 Float +testdata/Builtins.lc 75:9-75:11 {a} -> a -> a -> a -> VecS a 3 +testdata/Builtins.lc 75:9-75:15 Float -> Float -> VecS Float 3 +testdata/Builtins.lc 75:9-75:19 Float -> VecS Float 3 +testdata/Builtins.lc 75:9-75:23 VecS Float 3 +testdata/Builtins.lc 75:9-78:27 a:Nat -> VecS Float ('Succ ('Succ ('Succ a))) +testdata/Builtins.lc 75:12-75:15 Float +testdata/Builtins.lc 75:16-75:19 Float +testdata/Builtins.lc 75:20-75:23 Float +testdata/Builtins.lc 77:10-77:12 {a} -> a -> a -> a -> a -> VecS a 4 +testdata/Builtins.lc 77:10-77:16 Float -> Float -> Float -> VecS Float 4 +testdata/Builtins.lc 77:10-77:20 Float -> Float -> VecS Float 4 +testdata/Builtins.lc 77:10-77:24 Float -> VecS Float 4 +testdata/Builtins.lc 77:10-77:28 VecS Float 4 | a:Nat -> VecS Float ('Succ ('Succ ('Succ ('Succ a)))) +testdata/Builtins.lc 77:13-77:16 Float +testdata/Builtins.lc 77:17-77:20 Float +testdata/Builtins.lc 77:21-77:24 Float +testdata/Builtins.lc 77:25-77:28 Float +testdata/Builtins.lc 78:9-78:11 {a} -> a -> a -> a -> a -> VecS a 4 +testdata/Builtins.lc 78:9-78:15 Float -> Float -> Float -> VecS Float 4 +testdata/Builtins.lc 78:9-78:19 Float -> Float -> VecS Float 4 +testdata/Builtins.lc 78:9-78:23 Float -> VecS Float 4 +testdata/Builtins.lc 78:9-78:27 VecS Float 4 | a:Nat -> VecS Float ('Succ ('Succ ('Succ ('Succ a)))) +testdata/Builtins.lc 78:12-78:15 Float +testdata/Builtins.lc 78:16-78:19 Float +testdata/Builtins.lc 78:20-78:23 Float +testdata/Builtins.lc 78:24-78:27 Float +testdata/Builtins.lc 79:20-79:24 Type +testdata/Builtins.lc 79:20-80:15 V1->V2 +testdata/Builtins.lc 79:20-81:13 V1->V2 +testdata/Builtins.lc 80:10-80:15 Bool +testdata/Builtins.lc 81:9-81:13 Bool +testdata/Builtins.lc 83:10-83:12 {a} -> a -> a -> VecS a 2 +testdata/Builtins.lc 83:10-83:18 Bool -> VecS Bool 2 +testdata/Builtins.lc 83:10-83:24 VecS Bool 2 +testdata/Builtins.lc 83:10-89:36 a:Nat -> VecS Bool ('Succ ('Succ a)) | a:Nat -> VecS Bool ('Succ a) +testdata/Builtins.lc 83:13-83:18 Bool +testdata/Builtins.lc 83:19-83:24 Bool +testdata/Builtins.lc 84:9-84:11 {a} -> a -> a -> VecS a 2 +testdata/Builtins.lc 84:9-84:16 Bool -> VecS Bool 2 +testdata/Builtins.lc 84:9-84:21 VecS Bool 2 +testdata/Builtins.lc 84:9-90:31 a:Nat -> VecS Bool ('Succ ('Succ a)) | a:Nat -> VecS Bool ('Succ a) +testdata/Builtins.lc 84:12-84:16 Bool +testdata/Builtins.lc 84:17-84:21 Bool +testdata/Builtins.lc 86:10-86:12 {a} -> a -> a -> a -> VecS a 3 +testdata/Builtins.lc 86:10-86:18 Bool -> Bool -> VecS Bool 3 +testdata/Builtins.lc 86:10-86:24 Bool -> VecS Bool 3 +testdata/Builtins.lc 86:10-86:30 VecS Bool 3 +testdata/Builtins.lc 86:10-89:36 a:Nat -> VecS Bool ('Succ ('Succ ('Succ a))) +testdata/Builtins.lc 86:13-86:18 Bool +testdata/Builtins.lc 86:19-86:24 Bool +testdata/Builtins.lc 86:25-86:30 Bool +testdata/Builtins.lc 87:9-87:11 {a} -> a -> a -> a -> VecS a 3 +testdata/Builtins.lc 87:9-87:16 Bool -> Bool -> VecS Bool 3 +testdata/Builtins.lc 87:9-87:21 Bool -> VecS Bool 3 +testdata/Builtins.lc 87:9-87:26 VecS Bool 3 +testdata/Builtins.lc 87:9-90:31 a:Nat -> VecS Bool ('Succ ('Succ ('Succ a))) +testdata/Builtins.lc 87:12-87:16 Bool +testdata/Builtins.lc 87:17-87:21 Bool +testdata/Builtins.lc 87:22-87:26 Bool +testdata/Builtins.lc 89:10-89:12 {a} -> a -> a -> a -> a -> VecS a 4 +testdata/Builtins.lc 89:10-89:18 Bool -> Bool -> Bool -> VecS Bool 4 +testdata/Builtins.lc 89:10-89:24 Bool -> Bool -> VecS Bool 4 +testdata/Builtins.lc 89:10-89:30 Bool -> VecS Bool 4 +testdata/Builtins.lc 89:10-89:36 VecS Bool 4 | a:Nat -> VecS Bool ('Succ ('Succ ('Succ ('Succ a)))) +testdata/Builtins.lc 89:13-89:18 Bool +testdata/Builtins.lc 89:19-89:24 Bool +testdata/Builtins.lc 89:25-89:30 Bool +testdata/Builtins.lc 89:31-89:36 Bool +testdata/Builtins.lc 90:9-90:11 {a} -> a -> a -> a -> a -> VecS a 4 +testdata/Builtins.lc 90:9-90:16 Bool -> Bool -> Bool -> VecS Bool 4 +testdata/Builtins.lc 90:9-90:21 Bool -> Bool -> VecS Bool 4 +testdata/Builtins.lc 90:9-90:26 Bool -> VecS Bool 4 +testdata/Builtins.lc 90:9-90:31 VecS Bool 4 | a:Nat -> VecS Bool ('Succ ('Succ ('Succ ('Succ a)))) +testdata/Builtins.lc 90:12-90:16 Bool +testdata/Builtins.lc 90:17-90:21 Bool +testdata/Builtins.lc 90:22-90:26 Bool +testdata/Builtins.lc 90:27-90:31 Bool +testdata/Builtins.lc 92:7-92:15 Type->Type +testdata/Builtins.lc 94:25-94:28 Type +testdata/Builtins.lc 94:25-95:29 Type | Type->Type +testdata/Builtins.lc 95:25-95:29 Type +testdata/Builtins.lc 97:7-97:15 Type->Type +testdata/Builtins.lc 99:25-99:30 Type +testdata/Builtins.lc 99:25-103:29 Type | Type->Type +testdata/Builtins.lc 100:26-100:30 Type +testdata/Builtins.lc 100:26-103:29 Type +testdata/Builtins.lc 103:26-103:29 Type +testdata/Builtins.lc 118:1-118:8 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a +testdata/Builtins.lc 118:10-118:17 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a +testdata/Builtins.lc 118:19-118:26 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a +testdata/Builtins.lc 118:34-118:37 Type->Type +testdata/Builtins.lc 118:34-118:58 Type +testdata/Builtins.lc 118:34-118:73 Type testdata/Builtins.lc 118:39-118:55 Type->Type testdata/Builtins.lc 118:39-118:57 Type testdata/Builtins.lc 118:56-118:57 V1 -testdata/Builtins.lc 118:59-118:62 Type->Type -testdata/Builtins.lc 118:59-118:64 Type -testdata/Builtins.lc 118:59-118:80 Type -testdata/Builtins.lc 118:63-118:64 Type -testdata/Builtins.lc 118:69-118:70 Type -testdata/Builtins.lc 118:69-118:80 Type -testdata/Builtins.lc 118:74-118:75 Type -testdata/Builtins.lc 118:74-118:80 Type -testdata/Builtins.lc 118:79-118:80 Type -testdata/Builtins.lc 119:1-119:8 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b -testdata/Builtins.lc 119:10-119:17 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b -testdata/Builtins.lc 119:34-119:75 Type -testdata/Builtins.lc 119:35-119:38 Type->Type -testdata/Builtins.lc 119:35-119:40 Type -testdata/Builtins.lc 119:39-119:40 V5 -testdata/Builtins.lc 119:42-119:43 V5 -testdata/Builtins.lc 119:42-119:45 V4->Type -testdata/Builtins.lc 119:42-119:59 Type -testdata/Builtins.lc 119:42-119:75 Type -testdata/Builtins.lc 119:44-119:45 {a} -> a -> a->Type -testdata/Builtins.lc 119:46-119:55 Nat -> Type->Type -testdata/Builtins.lc 119:46-119:57 Type->Type -testdata/Builtins.lc 119:46-119:59 Type -testdata/Builtins.lc 119:56-119:57 V2 -testdata/Builtins.lc 119:58-119:59 Type -testdata/Builtins.lc 119:64-119:65 Type -testdata/Builtins.lc 119:64-119:75 Type +testdata/Builtins.lc 118:62-118:63 Type +testdata/Builtins.lc 118:62-118:73 Type +testdata/Builtins.lc 118:67-118:68 Type +testdata/Builtins.lc 118:67-118:73 Type +testdata/Builtins.lc 118:72-118:73 Type +testdata/Builtins.lc 119:1-119:9 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b +testdata/Builtins.lc 119:11-119:19 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b +testdata/Builtins.lc 119:21-119:29 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b +testdata/Builtins.lc 119:34-119:80 Type +testdata/Builtins.lc 119:35-119:36 V4 +testdata/Builtins.lc 119:35-119:38 V3->Type +testdata/Builtins.lc 119:35-119:57 Type +testdata/Builtins.lc 119:37-119:38 {a} -> a -> a->Type +testdata/Builtins.lc 119:39-119:55 Type->Type +testdata/Builtins.lc 119:39-119:57 Type +testdata/Builtins.lc 119:56-119:57 V1 +testdata/Builtins.lc 119:59-119:62 Type->Type +testdata/Builtins.lc 119:59-119:64 Type +testdata/Builtins.lc 119:59-119:80 Type +testdata/Builtins.lc 119:63-119:64 Type testdata/Builtins.lc 119:69-119:70 Type -testdata/Builtins.lc 119:69-119:75 Type +testdata/Builtins.lc 119:69-119:80 Type testdata/Builtins.lc 119:74-119:75 Type -testdata/Builtins.lc 120:1-120:9 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b -testdata/Builtins.lc 120:11-120:19 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b +testdata/Builtins.lc 119:74-119:80 Type +testdata/Builtins.lc 119:79-119:80 Type +testdata/Builtins.lc 120:1-120:8 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b +testdata/Builtins.lc 120:10-120:17 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b testdata/Builtins.lc 120:34-120:75 Type testdata/Builtins.lc 120:35-120:38 Type->Type testdata/Builtins.lc 120:35-120:40 Type @@ -1025,41 +1004,40 @@ testdata/Builtins.lc 120:64-120:75 Type testdata/Builtins.lc 120:69-120:70 Type testdata/Builtins.lc 120:69-120:75 Type testdata/Builtins.lc 120:74-120:75 Type -testdata/Builtins.lc 121:1-121:8 {a} -> {b : Signed (MatVecScalarElem a)} -> a->a -testdata/Builtins.lc 121:34-121:40 Type->Type -testdata/Builtins.lc 121:34-121:61 Type -testdata/Builtins.lc 121:34-121:71 Type -testdata/Builtins.lc 121:42-121:58 Type->Type -testdata/Builtins.lc 121:42-121:60 Type -testdata/Builtins.lc 121:59-121:60 V1 -testdata/Builtins.lc 121:65-121:66 Type -testdata/Builtins.lc 121:65-121:71 Type -testdata/Builtins.lc 121:70-121:71 Type -testdata/Builtins.lc 123:1-123:9 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b -testdata/Builtins.lc 123:11-123:18 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b -testdata/Builtins.lc 123:20-123:28 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b -testdata/Builtins.lc 123:34-123:80 Type -testdata/Builtins.lc 123:35-123:43 Type->Type -testdata/Builtins.lc 123:35-123:45 Type -testdata/Builtins.lc 123:44-123:45 V5 -testdata/Builtins.lc 123:47-123:48 V5 -testdata/Builtins.lc 123:47-123:50 V4->Type -testdata/Builtins.lc 123:47-123:64 Type -testdata/Builtins.lc 123:47-123:80 Type -testdata/Builtins.lc 123:49-123:50 {a} -> a -> a->Type -testdata/Builtins.lc 123:51-123:60 Nat -> Type->Type -testdata/Builtins.lc 123:51-123:62 Type->Type -testdata/Builtins.lc 123:51-123:64 Type -testdata/Builtins.lc 123:61-123:62 V2 -testdata/Builtins.lc 123:63-123:64 Type -testdata/Builtins.lc 123:69-123:70 Type -testdata/Builtins.lc 123:69-123:80 Type -testdata/Builtins.lc 123:74-123:75 Type -testdata/Builtins.lc 123:74-123:80 Type -testdata/Builtins.lc 123:79-123:80 Type -testdata/Builtins.lc 124:1-124:10 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b -testdata/Builtins.lc 124:12-124:20 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b -testdata/Builtins.lc 124:22-124:31 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b +testdata/Builtins.lc 121:1-121:9 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b +testdata/Builtins.lc 121:11-121:19 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b +testdata/Builtins.lc 121:34-121:75 Type +testdata/Builtins.lc 121:35-121:38 Type->Type +testdata/Builtins.lc 121:35-121:40 Type +testdata/Builtins.lc 121:39-121:40 V5 +testdata/Builtins.lc 121:42-121:43 V5 +testdata/Builtins.lc 121:42-121:45 V4->Type +testdata/Builtins.lc 121:42-121:59 Type +testdata/Builtins.lc 121:42-121:75 Type +testdata/Builtins.lc 121:44-121:45 {a} -> a -> a->Type +testdata/Builtins.lc 121:46-121:55 Nat -> Type->Type +testdata/Builtins.lc 121:46-121:57 Type->Type +testdata/Builtins.lc 121:46-121:59 Type +testdata/Builtins.lc 121:56-121:57 V2 +testdata/Builtins.lc 121:58-121:59 Type +testdata/Builtins.lc 121:64-121:65 Type +testdata/Builtins.lc 121:64-121:75 Type +testdata/Builtins.lc 121:69-121:70 Type +testdata/Builtins.lc 121:69-121:75 Type +testdata/Builtins.lc 121:74-121:75 Type +testdata/Builtins.lc 122:1-122:8 {a} -> {b : Signed (MatVecScalarElem a)} -> a->a +testdata/Builtins.lc 122:34-122:40 Type->Type +testdata/Builtins.lc 122:34-122:61 Type +testdata/Builtins.lc 122:34-122:71 Type +testdata/Builtins.lc 122:42-122:58 Type->Type +testdata/Builtins.lc 122:42-122:60 Type +testdata/Builtins.lc 122:59-122:60 V1 +testdata/Builtins.lc 122:65-122:66 Type +testdata/Builtins.lc 122:65-122:71 Type +testdata/Builtins.lc 122:70-122:71 Type +testdata/Builtins.lc 124:1-124:9 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b +testdata/Builtins.lc 124:11-124:18 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b +testdata/Builtins.lc 124:20-124:28 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b testdata/Builtins.lc 124:34-124:80 Type testdata/Builtins.lc 124:35-124:43 Type->Type testdata/Builtins.lc 124:35-124:45 Type @@ -1079,15 +1057,17 @@ testdata/Builtins.lc 124:69-124:80 Type testdata/Builtins.lc 124:74-124:75 Type testdata/Builtins.lc 124:74-124:80 Type testdata/Builtins.lc 124:79-124:80 Type -testdata/Builtins.lc 125:1-125:9 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b->b -testdata/Builtins.lc 125:34-125:75 Type +testdata/Builtins.lc 125:1-125:10 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b +testdata/Builtins.lc 125:12-125:20 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b +testdata/Builtins.lc 125:22-125:31 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b +testdata/Builtins.lc 125:34-125:80 Type testdata/Builtins.lc 125:35-125:43 Type->Type testdata/Builtins.lc 125:35-125:45 Type testdata/Builtins.lc 125:44-125:45 V5 testdata/Builtins.lc 125:47-125:48 V5 testdata/Builtins.lc 125:47-125:50 V4->Type testdata/Builtins.lc 125:47-125:64 Type -testdata/Builtins.lc 125:47-125:75 Type +testdata/Builtins.lc 125:47-125:80 Type testdata/Builtins.lc 125:49-125:50 {a} -> a -> a->Type testdata/Builtins.lc 125:51-125:60 Nat -> Type->Type testdata/Builtins.lc 125:51-125:62 Type->Type @@ -1095,126 +1075,131 @@ testdata/Builtins.lc 125:51-125:64 Type testdata/Builtins.lc 125:61-125:62 V2 testdata/Builtins.lc 125:63-125:64 Type testdata/Builtins.lc 125:69-125:70 Type -testdata/Builtins.lc 125:69-125:75 Type +testdata/Builtins.lc 125:69-125:80 Type testdata/Builtins.lc 125:74-125:75 Type -testdata/Builtins.lc 126:1-126: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 126:14-126: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 126:34-126:102 Type +testdata/Builtins.lc 125:74-125:80 Type +testdata/Builtins.lc 125:79-125:80 Type +testdata/Builtins.lc 126:1-126:9 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b->b +testdata/Builtins.lc 126:34-126:75 Type testdata/Builtins.lc 126:35-126:43 Type->Type testdata/Builtins.lc 126:35-126:45 Type -testdata/Builtins.lc 126:44-126:45 V7 -testdata/Builtins.lc 126:47-126:48 V7 -testdata/Builtins.lc 126:47-126:50 V6->Type +testdata/Builtins.lc 126:44-126:45 V5 +testdata/Builtins.lc 126:47-126:48 V5 +testdata/Builtins.lc 126:47-126:50 V4->Type testdata/Builtins.lc 126:47-126:64 Type -testdata/Builtins.lc 126:47-126:102 Type +testdata/Builtins.lc 126:47-126:75 Type testdata/Builtins.lc 126:49-126:50 {a} -> a -> a->Type testdata/Builtins.lc 126:51-126:60 Nat -> Type->Type testdata/Builtins.lc 126:51-126:62 Type->Type testdata/Builtins.lc 126:51-126:64 Type -testdata/Builtins.lc 126:61-126:62 V4 +testdata/Builtins.lc 126:61-126:62 V2 testdata/Builtins.lc 126:63-126:64 Type -testdata/Builtins.lc 126:66-126:67 V4 -testdata/Builtins.lc 126:66-126:69 V3->Type -testdata/Builtins.lc 126:66-126:86 Type -testdata/Builtins.lc 126:66-126:102 Type -testdata/Builtins.lc 126:68-126:69 {a} -> a -> a->Type -testdata/Builtins.lc 126:70-126:79 Nat -> Type->Type -testdata/Builtins.lc 126:70-126:81 Type->Type -testdata/Builtins.lc 126:70-126:86 Type -testdata/Builtins.lc 126:80-126:81 Nat -testdata/Builtins.lc 126:82-126:86 Type -testdata/Builtins.lc 126:91-126:92 Type -testdata/Builtins.lc 126:91-126:102 Type -testdata/Builtins.lc 126:96-126:97 Type -testdata/Builtins.lc 126:96-126:102 Type -testdata/Builtins.lc 126:101-126:102 Type -testdata/Builtins.lc 127:1-127:13 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> Word->b -testdata/Builtins.lc 127:15-127:27 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> Word->b -testdata/Builtins.lc 127:34-127:83 Type +testdata/Builtins.lc 126:69-126:70 Type +testdata/Builtins.lc 126:69-126:75 Type +testdata/Builtins.lc 126:74-126:75 Type +testdata/Builtins.lc 127:1-127: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 127:14-127: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 127:34-127:102 Type testdata/Builtins.lc 127:35-127:43 Type->Type testdata/Builtins.lc 127:35-127:45 Type -testdata/Builtins.lc 127:44-127:45 V5 -testdata/Builtins.lc 127:47-127:48 V5 -testdata/Builtins.lc 127:47-127:50 V4->Type +testdata/Builtins.lc 127:44-127:45 V7 +testdata/Builtins.lc 127:47-127:48 V7 +testdata/Builtins.lc 127:47-127:50 V6->Type testdata/Builtins.lc 127:47-127:64 Type -testdata/Builtins.lc 127:47-127:83 Type +testdata/Builtins.lc 127:47-127:102 Type testdata/Builtins.lc 127:49-127:50 {a} -> a -> a->Type testdata/Builtins.lc 127:51-127:60 Nat -> Type->Type testdata/Builtins.lc 127:51-127:62 Type->Type testdata/Builtins.lc 127:51-127:64 Type -testdata/Builtins.lc 127:61-127:62 V2 +testdata/Builtins.lc 127:61-127:62 V4 testdata/Builtins.lc 127:63-127:64 Type -testdata/Builtins.lc 127:69-127:70 Type -testdata/Builtins.lc 127:69-127:83 Type -testdata/Builtins.lc 127:74-127:78 Type -testdata/Builtins.lc 127:74-127:83 Type -testdata/Builtins.lc 127:82-127:83 Type -testdata/Builtins.lc 129:1-129:8 Bool -> Bool->Bool -testdata/Builtins.lc 129:10-129:16 Bool -> Bool->Bool -testdata/Builtins.lc 129:18-129:25 Bool -> Bool->Bool -testdata/Builtins.lc 129:34-129:38 Type -testdata/Builtins.lc 129:42-129:46 Type -testdata/Builtins.lc 129:42-129:54 Type -testdata/Builtins.lc 129:50-129:54 Type -testdata/Builtins.lc 130:1-130:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Bool} -> a->a -testdata/Builtins.lc 130:47-130:79 Type -testdata/Builtins.lc 130:48-130:49 V4 -testdata/Builtins.lc 130:48-130:51 V3->Type -testdata/Builtins.lc 130:48-130:68 Type -testdata/Builtins.lc 130:50-130:51 {a} -> a -> a->Type -testdata/Builtins.lc 130:52-130:61 Nat -> Type->Type -testdata/Builtins.lc 130:52-130:63 Type->Type -testdata/Builtins.lc 130:52-130:68 Type -testdata/Builtins.lc 130:62-130:63 V1 -testdata/Builtins.lc 130:64-130:68 Type -testdata/Builtins.lc 130:73-130:74 Type -testdata/Builtins.lc 130:73-130:79 Type -testdata/Builtins.lc 130:78-130:79 Type -testdata/Builtins.lc 131:1-131:8 {a:Nat} -> VecScalar a Bool -> Bool -testdata/Builtins.lc 131:10-131:17 {a:Nat} -> VecScalar a Bool -> Bool -testdata/Builtins.lc 131:34-131:43 Nat -> Type->Type -testdata/Builtins.lc 131:34-131:45 Type->Type -testdata/Builtins.lc 131:34-131:50 Type -testdata/Builtins.lc 131:34-131:58 Type -testdata/Builtins.lc 131:44-131:45 V1 -testdata/Builtins.lc 131:46-131:50 Type -testdata/Builtins.lc 131:54-131:58 Type -testdata/Builtins.lc 134:1-134:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:11-134:20 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:22-134:30 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:32-134:41 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:43-134:51 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:53-134:62 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:64-134:71 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:73-134:81 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:83-134:94 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:96-134:107 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:109-134:116 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:118-134:126 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:128-134:135 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:137-134:145 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:147-134:154 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:156-134:163 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:165-134:173 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:175-134:183 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:185-134:193 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 134:195-134:206 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 135:34-135:67 Type -testdata/Builtins.lc 135:35-135:36 V4 -testdata/Builtins.lc 135:35-135:38 V3->Type -testdata/Builtins.lc 135:35-135:56 Type -testdata/Builtins.lc 135:37-135:38 {a} -> a -> a->Type -testdata/Builtins.lc 135:39-135:48 Nat -> Type->Type -testdata/Builtins.lc 135:39-135:50 Type->Type -testdata/Builtins.lc 135:39-135:56 Type -testdata/Builtins.lc 135:49-135:50 V1 -testdata/Builtins.lc 135:51-135:56 Type -testdata/Builtins.lc 135:61-135:62 Type -testdata/Builtins.lc 135:61-135:67 Type -testdata/Builtins.lc 135:66-135:67 Type -testdata/Builtins.lc 136:1-136:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a -testdata/Builtins.lc 136:10-136:19 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a -testdata/Builtins.lc 136:34-136:72 Type +testdata/Builtins.lc 127:66-127:67 V4 +testdata/Builtins.lc 127:66-127:69 V3->Type +testdata/Builtins.lc 127:66-127:86 Type +testdata/Builtins.lc 127:66-127:102 Type +testdata/Builtins.lc 127:68-127:69 {a} -> a -> a->Type +testdata/Builtins.lc 127:70-127:79 Nat -> Type->Type +testdata/Builtins.lc 127:70-127:81 Type->Type +testdata/Builtins.lc 127:70-127:86 Type +testdata/Builtins.lc 127:80-127:81 Nat +testdata/Builtins.lc 127:82-127:86 Type +testdata/Builtins.lc 127:91-127:92 Type +testdata/Builtins.lc 127:91-127:102 Type +testdata/Builtins.lc 127:96-127:97 Type +testdata/Builtins.lc 127:96-127:102 Type +testdata/Builtins.lc 127:101-127:102 Type +testdata/Builtins.lc 128:1-128:13 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> Word->b +testdata/Builtins.lc 128:15-128:27 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> Word->b +testdata/Builtins.lc 128:34-128:83 Type +testdata/Builtins.lc 128:35-128:43 Type->Type +testdata/Builtins.lc 128:35-128:45 Type +testdata/Builtins.lc 128:44-128:45 V5 +testdata/Builtins.lc 128:47-128:48 V5 +testdata/Builtins.lc 128:47-128:50 V4->Type +testdata/Builtins.lc 128:47-128:64 Type +testdata/Builtins.lc 128:47-128:83 Type +testdata/Builtins.lc 128:49-128:50 {a} -> a -> a->Type +testdata/Builtins.lc 128:51-128:60 Nat -> Type->Type +testdata/Builtins.lc 128:51-128:62 Type->Type +testdata/Builtins.lc 128:51-128:64 Type +testdata/Builtins.lc 128:61-128:62 V2 +testdata/Builtins.lc 128:63-128:64 Type +testdata/Builtins.lc 128:69-128:70 Type +testdata/Builtins.lc 128:69-128:83 Type +testdata/Builtins.lc 128:74-128:78 Type +testdata/Builtins.lc 128:74-128:83 Type +testdata/Builtins.lc 128:82-128:83 Type +testdata/Builtins.lc 130:1-130:8 Bool -> Bool->Bool +testdata/Builtins.lc 130:10-130:16 Bool -> Bool->Bool +testdata/Builtins.lc 130:18-130:25 Bool -> Bool->Bool +testdata/Builtins.lc 130:34-130:38 Type +testdata/Builtins.lc 130:42-130:46 Type +testdata/Builtins.lc 130:42-130:54 Type +testdata/Builtins.lc 130:50-130:54 Type +testdata/Builtins.lc 131:1-131:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Bool} -> a->a +testdata/Builtins.lc 131:47-131:79 Type +testdata/Builtins.lc 131:48-131:49 V4 +testdata/Builtins.lc 131:48-131:51 V3->Type +testdata/Builtins.lc 131:48-131:68 Type +testdata/Builtins.lc 131:50-131:51 {a} -> a -> a->Type +testdata/Builtins.lc 131:52-131:61 Nat -> Type->Type +testdata/Builtins.lc 131:52-131:63 Type->Type +testdata/Builtins.lc 131:52-131:68 Type +testdata/Builtins.lc 131:62-131:63 V1 +testdata/Builtins.lc 131:64-131:68 Type +testdata/Builtins.lc 131:73-131:74 Type +testdata/Builtins.lc 131:73-131:79 Type +testdata/Builtins.lc 131:78-131:79 Type +testdata/Builtins.lc 132:1-132:8 {a:Nat} -> VecScalar a Bool -> Bool +testdata/Builtins.lc 132:10-132:17 {a:Nat} -> VecScalar a Bool -> Bool +testdata/Builtins.lc 132:34-132:43 Nat -> Type->Type +testdata/Builtins.lc 132:34-132:45 Type->Type +testdata/Builtins.lc 132:34-132:50 Type +testdata/Builtins.lc 132:34-132:58 Type +testdata/Builtins.lc 132:44-132:45 V1 +testdata/Builtins.lc 132:46-132:50 Type +testdata/Builtins.lc 132:54-132:58 Type +testdata/Builtins.lc 135:1-135:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:11-135:20 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:22-135:30 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:32-135:41 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:43-135:51 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:53-135:62 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:64-135:71 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:73-135:81 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:83-135:94 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:96-135:107 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:109-135:116 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:118-135:126 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:128-135:135 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:137-135:145 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:147-135:154 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:156-135:163 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:165-135:173 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:175-135:183 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:185-135:193 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 135:195-135:206 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 136:34-136:67 Type testdata/Builtins.lc 136:35-136:36 V4 testdata/Builtins.lc 136:35-136:38 V3->Type testdata/Builtins.lc 136:35-136:56 Type @@ -1225,52 +1210,46 @@ testdata/Builtins.lc 136:39-136:56 Type testdata/Builtins.lc 136:49-136:50 V1 testdata/Builtins.lc 136:51-136:56 Type testdata/Builtins.lc 136:61-136:62 Type -testdata/Builtins.lc 136:61-136:72 Type +testdata/Builtins.lc 136:61-136:67 Type testdata/Builtins.lc 136:66-136:67 Type -testdata/Builtins.lc 136:66-136:72 Type -testdata/Builtins.lc 136:71-136:72 Type -testdata/Builtins.lc 138:1-138:10 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 138:12-138:21 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 138:23-138:32 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 138:34-138:47 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 138:49-138:57 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 138:59-138:68 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 139:34-139:67 Type -testdata/Builtins.lc 139:35-139:36 V4 -testdata/Builtins.lc 139:35-139:38 V3->Type -testdata/Builtins.lc 139:35-139:56 Type -testdata/Builtins.lc 139:37-139:38 {a} -> a -> a->Type -testdata/Builtins.lc 139:39-139:48 Nat -> Type->Type -testdata/Builtins.lc 139:39-139:50 Type->Type -testdata/Builtins.lc 139:39-139:56 Type -testdata/Builtins.lc 139:49-139:50 V1 -testdata/Builtins.lc 139:51-139:56 Type -testdata/Builtins.lc 139:61-139:62 Type -testdata/Builtins.lc 139:61-139:67 Type -testdata/Builtins.lc 139:66-139:67 Type -testdata/Builtins.lc 140:1-140:8 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b -testdata/Builtins.lc 140:10-140:17 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b -testdata/Builtins.lc 140:34-140:75 Type -testdata/Builtins.lc 140:35-140:38 Type->Type -testdata/Builtins.lc 140:35-140:40 Type -testdata/Builtins.lc 140:39-140:40 V5 -testdata/Builtins.lc 140:42-140:43 V5 -testdata/Builtins.lc 140:42-140:45 V4->Type -testdata/Builtins.lc 140:42-140:59 Type -testdata/Builtins.lc 140:42-140:75 Type -testdata/Builtins.lc 140:44-140:45 {a} -> a -> a->Type -testdata/Builtins.lc 140:46-140:55 Nat -> Type->Type -testdata/Builtins.lc 140:46-140:57 Type->Type -testdata/Builtins.lc 140:46-140:59 Type -testdata/Builtins.lc 140:56-140:57 V2 -testdata/Builtins.lc 140:58-140:59 Type -testdata/Builtins.lc 140:64-140:65 Type -testdata/Builtins.lc 140:64-140:75 Type -testdata/Builtins.lc 140:69-140:70 Type -testdata/Builtins.lc 140:69-140:75 Type -testdata/Builtins.lc 140:74-140:75 Type -testdata/Builtins.lc 141:1-141:9 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b -testdata/Builtins.lc 141:11-141:19 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b +testdata/Builtins.lc 137:1-137:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a +testdata/Builtins.lc 137:10-137:19 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a +testdata/Builtins.lc 137:34-137:72 Type +testdata/Builtins.lc 137:35-137:36 V4 +testdata/Builtins.lc 137:35-137:38 V3->Type +testdata/Builtins.lc 137:35-137:56 Type +testdata/Builtins.lc 137:37-137:38 {a} -> a -> a->Type +testdata/Builtins.lc 137:39-137:48 Nat -> Type->Type +testdata/Builtins.lc 137:39-137:50 Type->Type +testdata/Builtins.lc 137:39-137:56 Type +testdata/Builtins.lc 137:49-137:50 V1 +testdata/Builtins.lc 137:51-137:56 Type +testdata/Builtins.lc 137:61-137:62 Type +testdata/Builtins.lc 137:61-137:72 Type +testdata/Builtins.lc 137:66-137:67 Type +testdata/Builtins.lc 137:66-137:72 Type +testdata/Builtins.lc 137:71-137:72 Type +testdata/Builtins.lc 139:1-139:10 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 139:12-139:21 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 139:23-139:32 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 139:34-139:47 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 139:49-139:57 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 139:59-139:68 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 140:34-140:67 Type +testdata/Builtins.lc 140:35-140:36 V4 +testdata/Builtins.lc 140:35-140:38 V3->Type +testdata/Builtins.lc 140:35-140:56 Type +testdata/Builtins.lc 140:37-140:38 {a} -> a -> a->Type +testdata/Builtins.lc 140:39-140:48 Nat -> Type->Type +testdata/Builtins.lc 140:39-140:50 Type->Type +testdata/Builtins.lc 140:39-140:56 Type +testdata/Builtins.lc 140:49-140:50 V1 +testdata/Builtins.lc 140:51-140:56 Type +testdata/Builtins.lc 140:61-140:62 Type +testdata/Builtins.lc 140:61-140:67 Type +testdata/Builtins.lc 140:66-140:67 Type +testdata/Builtins.lc 141:1-141:8 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b +testdata/Builtins.lc 141:10-141:17 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b testdata/Builtins.lc 141:34-141:75 Type testdata/Builtins.lc 141:35-141:38 Type->Type testdata/Builtins.lc 141:35-141:40 Type @@ -1290,90 +1269,89 @@ testdata/Builtins.lc 141:64-141:75 Type testdata/Builtins.lc 141:69-141:70 Type testdata/Builtins.lc 141:69-141:75 Type testdata/Builtins.lc 141:74-141:75 Type -testdata/Builtins.lc 142:1-142:10 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a->c -testdata/Builtins.lc 142:12-142:21 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a->c -testdata/Builtins.lc 142:34-142:89 Type -testdata/Builtins.lc 142:35-142:36 V6 -testdata/Builtins.lc 142:35-142:38 V5->Type -testdata/Builtins.lc 142:35-142:56 Type -testdata/Builtins.lc 142:37-142:38 {a} -> a -> a->Type -testdata/Builtins.lc 142:39-142:48 Nat -> Type->Type -testdata/Builtins.lc 142:39-142:50 Type->Type -testdata/Builtins.lc 142:39-142:56 Type -testdata/Builtins.lc 142:49-142:50 V3 -testdata/Builtins.lc 142:51-142:56 Type -testdata/Builtins.lc 142:58-142:59 V3 -testdata/Builtins.lc 142:58-142:61 V2->Type -testdata/Builtins.lc 142:58-142:78 Type -testdata/Builtins.lc 142:58-142:89 Type -testdata/Builtins.lc 142:60-142:61 {a} -> a -> a->Type -testdata/Builtins.lc 142:62-142:71 Nat -> Type->Type -testdata/Builtins.lc 142:62-142:73 Type->Type -testdata/Builtins.lc 142:62-142:78 Type -testdata/Builtins.lc 142:72-142:73 Nat -testdata/Builtins.lc 142:74-142:78 Type -testdata/Builtins.lc 142:83-142:84 Type -testdata/Builtins.lc 142:83-142:89 Type -testdata/Builtins.lc 142:88-142:89 Type -testdata/Builtins.lc 143:1-143:8 {a} -> {b} -> {c:Nat} -> {d : Signed a} -> {e : b ~ VecScalar c a} -> b->b -testdata/Builtins.lc 143:10-143:18 {a} -> {b} -> {c:Nat} -> {d : Signed a} -> {e : b ~ VecScalar c a} -> b->b -testdata/Builtins.lc 143:34-143:73 Type -testdata/Builtins.lc 143:35-143:41 Type->Type -testdata/Builtins.lc 143:35-143:43 Type -testdata/Builtins.lc 143:42-143:43 V5 -testdata/Builtins.lc 143:45-143:46 V5 -testdata/Builtins.lc 143:45-143:48 V4->Type -testdata/Builtins.lc 143:45-143:62 Type -testdata/Builtins.lc 143:45-143:73 Type -testdata/Builtins.lc 143:47-143:48 {a} -> a -> a->Type -testdata/Builtins.lc 143:49-143:58 Nat -> Type->Type -testdata/Builtins.lc 143:49-143:60 Type->Type -testdata/Builtins.lc 143:49-143:62 Type -testdata/Builtins.lc 143:59-143:60 V2 -testdata/Builtins.lc 143:61-143:62 Type -testdata/Builtins.lc 143:67-143:68 Type -testdata/Builtins.lc 143:67-143:73 Type -testdata/Builtins.lc 143:72-143:73 Type -testdata/Builtins.lc 144:1-144:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->(a, a) -testdata/Builtins.lc 144:34-144:72 Type -testdata/Builtins.lc 144:35-144:36 V4 -testdata/Builtins.lc 144:35-144:38 V3->Type -testdata/Builtins.lc 144:35-144:56 Type -testdata/Builtins.lc 144:37-144:38 {a} -> a -> a->Type -testdata/Builtins.lc 144:39-144:48 Nat -> Type->Type -testdata/Builtins.lc 144:39-144:50 Type->Type -testdata/Builtins.lc 144:39-144:56 Type -testdata/Builtins.lc 144:49-144:50 V1 -testdata/Builtins.lc 144:51-144:56 Type +testdata/Builtins.lc 142:1-142:9 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b +testdata/Builtins.lc 142:11-142:19 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b +testdata/Builtins.lc 142:34-142:75 Type +testdata/Builtins.lc 142:35-142:38 Type->Type +testdata/Builtins.lc 142:35-142:40 Type +testdata/Builtins.lc 142:39-142:40 V5 +testdata/Builtins.lc 142:42-142:43 V5 +testdata/Builtins.lc 142:42-142:45 V4->Type +testdata/Builtins.lc 142:42-142:59 Type +testdata/Builtins.lc 142:42-142:75 Type +testdata/Builtins.lc 142:44-142:45 {a} -> a -> a->Type +testdata/Builtins.lc 142:46-142:55 Nat -> Type->Type +testdata/Builtins.lc 142:46-142:57 Type->Type +testdata/Builtins.lc 142:46-142:59 Type +testdata/Builtins.lc 142:56-142:57 V2 +testdata/Builtins.lc 142:58-142:59 Type +testdata/Builtins.lc 142:64-142:65 Type +testdata/Builtins.lc 142:64-142:75 Type +testdata/Builtins.lc 142:69-142:70 Type +testdata/Builtins.lc 142:69-142:75 Type +testdata/Builtins.lc 142:74-142:75 Type +testdata/Builtins.lc 143:1-143:10 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a->c +testdata/Builtins.lc 143:12-143:21 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a->c +testdata/Builtins.lc 143:34-143:89 Type +testdata/Builtins.lc 143:35-143:36 V6 +testdata/Builtins.lc 143:35-143:38 V5->Type +testdata/Builtins.lc 143:35-143:56 Type +testdata/Builtins.lc 143:37-143:38 {a} -> a -> a->Type +testdata/Builtins.lc 143:39-143:48 Nat -> Type->Type +testdata/Builtins.lc 143:39-143:50 Type->Type +testdata/Builtins.lc 143:39-143:56 Type +testdata/Builtins.lc 143:49-143:50 V3 +testdata/Builtins.lc 143:51-143:56 Type +testdata/Builtins.lc 143:58-143:59 V3 +testdata/Builtins.lc 143:58-143:61 V2->Type +testdata/Builtins.lc 143:58-143:78 Type +testdata/Builtins.lc 143:58-143:89 Type +testdata/Builtins.lc 143:60-143:61 {a} -> a -> a->Type +testdata/Builtins.lc 143:62-143:71 Nat -> Type->Type +testdata/Builtins.lc 143:62-143:73 Type->Type +testdata/Builtins.lc 143:62-143:78 Type +testdata/Builtins.lc 143:72-143:73 Nat +testdata/Builtins.lc 143:74-143:78 Type +testdata/Builtins.lc 143:83-143:84 Type +testdata/Builtins.lc 143:83-143:89 Type +testdata/Builtins.lc 143:88-143:89 Type +testdata/Builtins.lc 144:1-144:8 {a} -> {b} -> {c:Nat} -> {d : Signed a} -> {e : b ~ VecScalar c a} -> b->b +testdata/Builtins.lc 144:10-144:18 {a} -> {b} -> {c:Nat} -> {d : Signed a} -> {e : b ~ VecScalar c a} -> b->b +testdata/Builtins.lc 144:34-144:73 Type +testdata/Builtins.lc 144:35-144:41 Type->Type +testdata/Builtins.lc 144:35-144:43 Type +testdata/Builtins.lc 144:42-144:43 V5 +testdata/Builtins.lc 144:45-144:46 V5 +testdata/Builtins.lc 144:45-144:48 V4->Type +testdata/Builtins.lc 144:45-144:62 Type +testdata/Builtins.lc 144:45-144:73 Type +testdata/Builtins.lc 144:47-144:48 {a} -> a -> a->Type +testdata/Builtins.lc 144:49-144:58 Nat -> Type->Type +testdata/Builtins.lc 144:49-144:60 Type->Type +testdata/Builtins.lc 144:49-144:62 Type +testdata/Builtins.lc 144:59-144:60 V2 testdata/Builtins.lc 144:61-144:62 Type -testdata/Builtins.lc 144:61-144:72 Type -testdata/Builtins.lc 144:66-144:72 Type testdata/Builtins.lc 144:67-144:68 Type -testdata/Builtins.lc 144:67-144:71 List Type -testdata/Builtins.lc 144:70-144:71 List Type | Type -testdata/Builtins.lc 145:1-145:10 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b -> b->b -testdata/Builtins.lc 145:34-145:80 Type -testdata/Builtins.lc 145:35-145:38 Type->Type -testdata/Builtins.lc 145:35-145:40 Type -testdata/Builtins.lc 145:39-145:40 V5 -testdata/Builtins.lc 145:42-145:43 V5 -testdata/Builtins.lc 145:42-145:45 V4->Type -testdata/Builtins.lc 145:42-145:59 Type -testdata/Builtins.lc 145:42-145:80 Type -testdata/Builtins.lc 145:44-145:45 {a} -> a -> a->Type -testdata/Builtins.lc 145:46-145:55 Nat -> Type->Type -testdata/Builtins.lc 145:46-145:57 Type->Type -testdata/Builtins.lc 145:46-145:59 Type -testdata/Builtins.lc 145:56-145:57 V2 -testdata/Builtins.lc 145:58-145:59 Type -testdata/Builtins.lc 145:64-145:65 Type -testdata/Builtins.lc 145:64-145:80 Type -testdata/Builtins.lc 145:69-145:70 Type -testdata/Builtins.lc 145:69-145:80 Type -testdata/Builtins.lc 145:74-145:75 Type -testdata/Builtins.lc 145:74-145:80 Type -testdata/Builtins.lc 145:79-145:80 Type -testdata/Builtins.lc 146:1-146:11 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a -> a->b +testdata/Builtins.lc 144:67-144:73 Type +testdata/Builtins.lc 144:72-144:73 Type +testdata/Builtins.lc 145:1-145:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->(a, a) +testdata/Builtins.lc 145:34-145:72 Type +testdata/Builtins.lc 145:35-145:36 V4 +testdata/Builtins.lc 145:35-145:38 V3->Type +testdata/Builtins.lc 145:35-145:56 Type +testdata/Builtins.lc 145:37-145:38 {a} -> a -> a->Type +testdata/Builtins.lc 145:39-145:48 Nat -> Type->Type +testdata/Builtins.lc 145:39-145:50 Type->Type +testdata/Builtins.lc 145:39-145:56 Type +testdata/Builtins.lc 145:49-145:50 V1 +testdata/Builtins.lc 145:51-145:56 Type +testdata/Builtins.lc 145:61-145:62 Type +testdata/Builtins.lc 145:61-145:72 Type +testdata/Builtins.lc 145:66-145:72 Type +testdata/Builtins.lc 145:67-145:68 Type +testdata/Builtins.lc 145:67-145:71 List Type +testdata/Builtins.lc 145:70-145:71 List Type | Type +testdata/Builtins.lc 146:1-146:10 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b -> b->b testdata/Builtins.lc 146:34-146:80 Type testdata/Builtins.lc 146:35-146:38 Type->Type testdata/Builtins.lc 146:35-146:40 Type @@ -1395,26 +1373,30 @@ testdata/Builtins.lc 146:69-146:80 Type testdata/Builtins.lc 146:74-146:75 Type testdata/Builtins.lc 146:74-146:80 Type testdata/Builtins.lc 146:79-146:80 Type -testdata/Builtins.lc 147:1-147:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a -testdata/Builtins.lc 147:34-147:77 Type -testdata/Builtins.lc 147:35-147:36 V4 -testdata/Builtins.lc 147:35-147:38 V3->Type -testdata/Builtins.lc 147:35-147:56 Type -testdata/Builtins.lc 147:37-147:38 {a} -> a -> a->Type -testdata/Builtins.lc 147:39-147:48 Nat -> Type->Type -testdata/Builtins.lc 147:39-147:50 Type->Type -testdata/Builtins.lc 147:39-147:56 Type -testdata/Builtins.lc 147:49-147:50 V1 -testdata/Builtins.lc 147:51-147:56 Type -testdata/Builtins.lc 147:61-147:62 Type -testdata/Builtins.lc 147:61-147:77 Type -testdata/Builtins.lc 147:66-147:67 Type -testdata/Builtins.lc 147:66-147:77 Type -testdata/Builtins.lc 147:71-147:72 Type -testdata/Builtins.lc 147:71-147:77 Type -testdata/Builtins.lc 147:76-147:77 Type -testdata/Builtins.lc 148:1-148:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> Float->a -testdata/Builtins.lc 148:34-148:81 Type +testdata/Builtins.lc 147:1-147:11 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a -> a->b +testdata/Builtins.lc 147:34-147:80 Type +testdata/Builtins.lc 147:35-147:38 Type->Type +testdata/Builtins.lc 147:35-147:40 Type +testdata/Builtins.lc 147:39-147:40 V5 +testdata/Builtins.lc 147:42-147:43 V5 +testdata/Builtins.lc 147:42-147:45 V4->Type +testdata/Builtins.lc 147:42-147:59 Type +testdata/Builtins.lc 147:42-147:80 Type +testdata/Builtins.lc 147:44-147:45 {a} -> a -> a->Type +testdata/Builtins.lc 147:46-147:55 Nat -> Type->Type +testdata/Builtins.lc 147:46-147:57 Type->Type +testdata/Builtins.lc 147:46-147:59 Type +testdata/Builtins.lc 147:56-147:57 V2 +testdata/Builtins.lc 147:58-147:59 Type +testdata/Builtins.lc 147:64-147:65 Type +testdata/Builtins.lc 147:64-147:80 Type +testdata/Builtins.lc 147:69-147:70 Type +testdata/Builtins.lc 147:69-147:80 Type +testdata/Builtins.lc 147:74-147:75 Type +testdata/Builtins.lc 147:74-147:80 Type +testdata/Builtins.lc 147:79-147:80 Type +testdata/Builtins.lc 148:1-148:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a +testdata/Builtins.lc 148:34-148:77 Type testdata/Builtins.lc 148:35-148:36 V4 testdata/Builtins.lc 148:35-148:38 V3->Type testdata/Builtins.lc 148:35-148:56 Type @@ -1425,173 +1407,176 @@ testdata/Builtins.lc 148:39-148:56 Type testdata/Builtins.lc 148:49-148:50 V1 testdata/Builtins.lc 148:51-148:56 Type testdata/Builtins.lc 148:61-148:62 Type -testdata/Builtins.lc 148:61-148:81 Type +testdata/Builtins.lc 148:61-148:77 Type testdata/Builtins.lc 148:66-148:67 Type -testdata/Builtins.lc 148:66-148:81 Type -testdata/Builtins.lc 148:71-148:76 Type -testdata/Builtins.lc 148:71-148:81 Type -testdata/Builtins.lc 148:80-148:81 Type -testdata/Builtins.lc 149:1-149:9 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a -> a -> c->a -testdata/Builtins.lc 149:34-149:99 Type -testdata/Builtins.lc 149:35-149:36 V6 -testdata/Builtins.lc 149:35-149:38 V5->Type +testdata/Builtins.lc 148:66-148:77 Type +testdata/Builtins.lc 148:71-148:72 Type +testdata/Builtins.lc 148:71-148:77 Type +testdata/Builtins.lc 148:76-148:77 Type +testdata/Builtins.lc 149:1-149:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> Float->a +testdata/Builtins.lc 149:34-149:81 Type +testdata/Builtins.lc 149:35-149:36 V4 +testdata/Builtins.lc 149:35-149:38 V3->Type testdata/Builtins.lc 149:35-149:56 Type testdata/Builtins.lc 149:37-149:38 {a} -> a -> a->Type testdata/Builtins.lc 149:39-149:48 Nat -> Type->Type testdata/Builtins.lc 149:39-149:50 Type->Type testdata/Builtins.lc 149:39-149:56 Type -testdata/Builtins.lc 149:49-149:50 V3 +testdata/Builtins.lc 149:49-149:50 V1 testdata/Builtins.lc 149:51-149:56 Type -testdata/Builtins.lc 149:58-149:59 V3 -testdata/Builtins.lc 149:58-149:61 V2->Type -testdata/Builtins.lc 149:58-149:78 Type -testdata/Builtins.lc 149:58-149:99 Type -testdata/Builtins.lc 149:60-149:61 {a} -> a -> a->Type -testdata/Builtins.lc 149:62-149:71 Nat -> Type->Type -testdata/Builtins.lc 149:62-149:73 Type->Type -testdata/Builtins.lc 149:62-149:78 Type -testdata/Builtins.lc 149:72-149:73 Nat -testdata/Builtins.lc 149:74-149:78 Type -testdata/Builtins.lc 149:83-149:84 Type -testdata/Builtins.lc 149:83-149:99 Type -testdata/Builtins.lc 149:88-149:89 Type -testdata/Builtins.lc 149:88-149:99 Type -testdata/Builtins.lc 149:93-149:94 Type -testdata/Builtins.lc 149:93-149:99 Type -testdata/Builtins.lc 149:98-149:99 Type -testdata/Builtins.lc 150:1-150:9 {a} -> {b:Nat} -> {c : a ~ VecS Float b} -> a -> a->a -testdata/Builtins.lc 150:34-150:66 Type -testdata/Builtins.lc 150:35-150:36 V4 -testdata/Builtins.lc 150:35-150:38 V3->Type -testdata/Builtins.lc 150:35-150:50 Type +testdata/Builtins.lc 149:61-149:62 Type +testdata/Builtins.lc 149:61-149:81 Type +testdata/Builtins.lc 149:66-149:67 Type +testdata/Builtins.lc 149:66-149:81 Type +testdata/Builtins.lc 149:71-149:76 Type +testdata/Builtins.lc 149:71-149:81 Type +testdata/Builtins.lc 149:80-149:81 Type +testdata/Builtins.lc 150:1-150:9 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a -> a -> c->a +testdata/Builtins.lc 150:34-150:99 Type +testdata/Builtins.lc 150:35-150:36 V6 +testdata/Builtins.lc 150:35-150:38 V5->Type +testdata/Builtins.lc 150:35-150:56 Type testdata/Builtins.lc 150:37-150:38 {a} -> a -> a->Type -testdata/Builtins.lc 150:39-150:42 Nat -> Type->Type -testdata/Builtins.lc 150:39-150:44 Type->Type -testdata/Builtins.lc 150:39-150:50 Type -testdata/Builtins.lc 150:43-150:44 V1 -testdata/Builtins.lc 150:45-150:50 Type -testdata/Builtins.lc 150:55-150:56 Type -testdata/Builtins.lc 150:55-150:66 Type -testdata/Builtins.lc 150:60-150:61 Type -testdata/Builtins.lc 150:60-150:66 Type -testdata/Builtins.lc 150:65-150:66 Type -testdata/Builtins.lc 151:1-151:10 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> Float -> a->a -testdata/Builtins.lc 151:34-151:76 Type +testdata/Builtins.lc 150:39-150:48 Nat -> Type->Type +testdata/Builtins.lc 150:39-150:50 Type->Type +testdata/Builtins.lc 150:39-150:56 Type +testdata/Builtins.lc 150:49-150:50 V3 +testdata/Builtins.lc 150:51-150:56 Type +testdata/Builtins.lc 150:58-150:59 V3 +testdata/Builtins.lc 150:58-150:61 V2->Type +testdata/Builtins.lc 150:58-150:78 Type +testdata/Builtins.lc 150:58-150:99 Type +testdata/Builtins.lc 150:60-150:61 {a} -> a -> a->Type +testdata/Builtins.lc 150:62-150:71 Nat -> Type->Type +testdata/Builtins.lc 150:62-150:73 Type->Type +testdata/Builtins.lc 150:62-150:78 Type +testdata/Builtins.lc 150:72-150:73 Nat +testdata/Builtins.lc 150:74-150:78 Type +testdata/Builtins.lc 150:83-150:84 Type +testdata/Builtins.lc 150:83-150:99 Type +testdata/Builtins.lc 150:88-150:89 Type +testdata/Builtins.lc 150:88-150:99 Type +testdata/Builtins.lc 150:93-150:94 Type +testdata/Builtins.lc 150:93-150:99 Type +testdata/Builtins.lc 150:98-150:99 Type +testdata/Builtins.lc 151:1-151:9 {a} -> {b:Nat} -> {c : a ~ VecS Float b} -> a -> a->a +testdata/Builtins.lc 151:34-151:66 Type testdata/Builtins.lc 151:35-151:36 V4 testdata/Builtins.lc 151:35-151:38 V3->Type -testdata/Builtins.lc 151:35-151:56 Type +testdata/Builtins.lc 151:35-151:50 Type testdata/Builtins.lc 151:37-151:38 {a} -> a -> a->Type -testdata/Builtins.lc 151:39-151:48 Nat -> Type->Type -testdata/Builtins.lc 151:39-151:50 Type->Type -testdata/Builtins.lc 151:39-151:56 Type -testdata/Builtins.lc 151:49-151:50 V1 -testdata/Builtins.lc 151:51-151:56 Type -testdata/Builtins.lc 151:61-151:66 Type -testdata/Builtins.lc 151:61-151:76 Type -testdata/Builtins.lc 151:70-151:71 Type -testdata/Builtins.lc 151:70-151:76 Type -testdata/Builtins.lc 151:75-151:76 Type -testdata/Builtins.lc 152:1-152:15 {a} -> {b:Nat} -> {c : a ~ VecS Float b} -> a -> a -> a->a -testdata/Builtins.lc 152:34-152:71 Type +testdata/Builtins.lc 151:39-151:42 Nat -> Type->Type +testdata/Builtins.lc 151:39-151:44 Type->Type +testdata/Builtins.lc 151:39-151:50 Type +testdata/Builtins.lc 151:43-151:44 V1 +testdata/Builtins.lc 151:45-151:50 Type +testdata/Builtins.lc 151:55-151:56 Type +testdata/Builtins.lc 151:55-151:66 Type +testdata/Builtins.lc 151:60-151:61 Type +testdata/Builtins.lc 151:60-151:66 Type +testdata/Builtins.lc 151:65-151:66 Type +testdata/Builtins.lc 152:1-152:10 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> Float -> a->a +testdata/Builtins.lc 152:34-152:76 Type testdata/Builtins.lc 152:35-152:36 V4 testdata/Builtins.lc 152:35-152:38 V3->Type -testdata/Builtins.lc 152:35-152:50 Type +testdata/Builtins.lc 152:35-152:56 Type testdata/Builtins.lc 152:37-152:38 {a} -> a -> a->Type -testdata/Builtins.lc 152:39-152:42 Nat -> Type->Type -testdata/Builtins.lc 152:39-152:44 Type->Type -testdata/Builtins.lc 152:39-152:50 Type -testdata/Builtins.lc 152:43-152:44 V1 -testdata/Builtins.lc 152:45-152:50 Type -testdata/Builtins.lc 152:55-152:56 Type -testdata/Builtins.lc 152:55-152:71 Type -testdata/Builtins.lc 152:60-152:61 Type -testdata/Builtins.lc 152:60-152:71 Type -testdata/Builtins.lc 152:65-152:66 Type -testdata/Builtins.lc 152:65-152:71 Type +testdata/Builtins.lc 152:39-152:48 Nat -> Type->Type +testdata/Builtins.lc 152:39-152:50 Type->Type +testdata/Builtins.lc 152:39-152:56 Type +testdata/Builtins.lc 152:49-152:50 V1 +testdata/Builtins.lc 152:51-152:56 Type +testdata/Builtins.lc 152:61-152:66 Type +testdata/Builtins.lc 152:61-152:76 Type testdata/Builtins.lc 152:70-152:71 Type -testdata/Builtins.lc 153:1-153:16 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> Float -> Float -> a->a -testdata/Builtins.lc 153:34-153:85 Type +testdata/Builtins.lc 152:70-152:76 Type +testdata/Builtins.lc 152:75-152:76 Type +testdata/Builtins.lc 153:1-153:15 {a} -> {b:Nat} -> {c : a ~ VecS Float b} -> a -> a -> a->a +testdata/Builtins.lc 153:34-153:71 Type testdata/Builtins.lc 153:35-153:36 V4 testdata/Builtins.lc 153:35-153:38 V3->Type -testdata/Builtins.lc 153:35-153:56 Type +testdata/Builtins.lc 153:35-153:50 Type testdata/Builtins.lc 153:37-153:38 {a} -> a -> a->Type -testdata/Builtins.lc 153:39-153:48 Nat -> Type->Type -testdata/Builtins.lc 153:39-153:50 Type->Type -testdata/Builtins.lc 153:39-153:56 Type -testdata/Builtins.lc 153:49-153:50 V1 -testdata/Builtins.lc 153:51-153:56 Type -testdata/Builtins.lc 153:61-153:66 Type -testdata/Builtins.lc 153:61-153:85 Type -testdata/Builtins.lc 153:70-153:75 Type -testdata/Builtins.lc 153:70-153:85 Type -testdata/Builtins.lc 153:79-153:80 Type -testdata/Builtins.lc 153:79-153:85 Type -testdata/Builtins.lc 153:84-153:85 Type -testdata/Builtins.lc 156:1-156:19 {a:Nat} -> VecScalar a Float -> VecScalar a Int -testdata/Builtins.lc 156:34-156:43 Nat -> Type->Type -testdata/Builtins.lc 156:34-156:45 Type->Type -testdata/Builtins.lc 156:34-156:51 Type -testdata/Builtins.lc 156:34-156:70 Type -testdata/Builtins.lc 156:44-156:45 V1 -testdata/Builtins.lc 156:46-156:51 Type -testdata/Builtins.lc 156:55-156:64 Nat -> Type->Type -testdata/Builtins.lc 156:55-156:66 Type->Type -testdata/Builtins.lc 156:55-156:70 Type -testdata/Builtins.lc 156:65-156:66 Nat -testdata/Builtins.lc 156:67-156:70 Type -testdata/Builtins.lc 157:1-157:20 {a:Nat} -> VecScalar a Float -> VecScalar a Word +testdata/Builtins.lc 153:39-153:42 Nat -> Type->Type +testdata/Builtins.lc 153:39-153:44 Type->Type +testdata/Builtins.lc 153:39-153:50 Type +testdata/Builtins.lc 153:43-153:44 V1 +testdata/Builtins.lc 153:45-153:50 Type +testdata/Builtins.lc 153:55-153:56 Type +testdata/Builtins.lc 153:55-153:71 Type +testdata/Builtins.lc 153:60-153:61 Type +testdata/Builtins.lc 153:60-153:71 Type +testdata/Builtins.lc 153:65-153:66 Type +testdata/Builtins.lc 153:65-153:71 Type +testdata/Builtins.lc 153:70-153:71 Type +testdata/Builtins.lc 154:1-154:16 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> Float -> Float -> a->a +testdata/Builtins.lc 154:34-154:85 Type +testdata/Builtins.lc 154:35-154:36 V4 +testdata/Builtins.lc 154:35-154:38 V3->Type +testdata/Builtins.lc 154:35-154:56 Type +testdata/Builtins.lc 154:37-154:38 {a} -> a -> a->Type +testdata/Builtins.lc 154:39-154:48 Nat -> Type->Type +testdata/Builtins.lc 154:39-154:50 Type->Type +testdata/Builtins.lc 154:39-154:56 Type +testdata/Builtins.lc 154:49-154:50 V1 +testdata/Builtins.lc 154:51-154:56 Type +testdata/Builtins.lc 154:61-154:66 Type +testdata/Builtins.lc 154:61-154:85 Type +testdata/Builtins.lc 154:70-154:75 Type +testdata/Builtins.lc 154:70-154:85 Type +testdata/Builtins.lc 154:79-154:80 Type +testdata/Builtins.lc 154:79-154:85 Type +testdata/Builtins.lc 154:84-154:85 Type +testdata/Builtins.lc 157:1-157:19 {a:Nat} -> VecScalar a Float -> VecScalar a Int testdata/Builtins.lc 157:34-157:43 Nat -> Type->Type testdata/Builtins.lc 157:34-157:45 Type->Type testdata/Builtins.lc 157:34-157:51 Type -testdata/Builtins.lc 157:34-157:71 Type +testdata/Builtins.lc 157:34-157:70 Type testdata/Builtins.lc 157:44-157:45 V1 testdata/Builtins.lc 157:46-157:51 Type testdata/Builtins.lc 157:55-157:64 Nat -> Type->Type testdata/Builtins.lc 157:55-157:66 Type->Type -testdata/Builtins.lc 157:55-157:71 Type +testdata/Builtins.lc 157:55-157:70 Type testdata/Builtins.lc 157:65-157:66 Nat -testdata/Builtins.lc 157:67-157:71 Type -testdata/Builtins.lc 158:1-158:19 {a:Nat} -> VecScalar a Int -> VecScalar a Float +testdata/Builtins.lc 157:67-157:70 Type +testdata/Builtins.lc 158:1-158:20 {a:Nat} -> VecScalar a Float -> VecScalar a Word testdata/Builtins.lc 158:34-158:43 Nat -> Type->Type testdata/Builtins.lc 158:34-158:45 Type->Type -testdata/Builtins.lc 158:34-158:49 Type -testdata/Builtins.lc 158:34-158:72 Type +testdata/Builtins.lc 158:34-158:51 Type +testdata/Builtins.lc 158:34-158:71 Type testdata/Builtins.lc 158:44-158:45 V1 -testdata/Builtins.lc 158:46-158:49 Type +testdata/Builtins.lc 158:46-158:51 Type testdata/Builtins.lc 158:55-158:64 Nat -> Type->Type testdata/Builtins.lc 158:55-158:66 Type->Type -testdata/Builtins.lc 158:55-158:72 Type +testdata/Builtins.lc 158:55-158:71 Type testdata/Builtins.lc 158:65-158:66 Nat -testdata/Builtins.lc 158:67-158:72 Type -testdata/Builtins.lc 159:1-159:20 {a:Nat} -> VecScalar a Word -> VecScalar a Float +testdata/Builtins.lc 158:67-158:71 Type +testdata/Builtins.lc 159:1-159:19 {a:Nat} -> VecScalar a Int -> VecScalar a Float testdata/Builtins.lc 159:34-159:43 Nat -> Type->Type testdata/Builtins.lc 159:34-159:45 Type->Type -testdata/Builtins.lc 159:34-159:50 Type +testdata/Builtins.lc 159:34-159:49 Type testdata/Builtins.lc 159:34-159:72 Type testdata/Builtins.lc 159:44-159:45 V1 -testdata/Builtins.lc 159:46-159:50 Type +testdata/Builtins.lc 159:46-159:49 Type testdata/Builtins.lc 159:55-159:64 Nat -> Type->Type testdata/Builtins.lc 159:55-159:66 Type->Type testdata/Builtins.lc 159:55-159:72 Type testdata/Builtins.lc 159:65-159:66 Nat testdata/Builtins.lc 159:67-159:72 Type -testdata/Builtins.lc 161:1-161:11 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->Float -testdata/Builtins.lc 161:34-161:71 Type -testdata/Builtins.lc 161:35-161:36 V4 -testdata/Builtins.lc 161:35-161:38 V3->Type -testdata/Builtins.lc 161:35-161:56 Type -testdata/Builtins.lc 161:37-161:38 {a} -> a -> a->Type -testdata/Builtins.lc 161:39-161:48 Nat -> Type->Type -testdata/Builtins.lc 161:39-161:50 Type->Type -testdata/Builtins.lc 161:39-161:56 Type -testdata/Builtins.lc 161:49-161:50 V1 -testdata/Builtins.lc 161:51-161:56 Type -testdata/Builtins.lc 161:61-161:62 Type -testdata/Builtins.lc 161:61-161:71 Type -testdata/Builtins.lc 161:66-161:71 Type -testdata/Builtins.lc 162:1-162:13 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->Float -testdata/Builtins.lc 162:15-162:22 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->Float -testdata/Builtins.lc 162:34-162:76 Type +testdata/Builtins.lc 160:1-160:20 {a:Nat} -> VecScalar a Word -> VecScalar a Float +testdata/Builtins.lc 160:34-160:43 Nat -> Type->Type +testdata/Builtins.lc 160:34-160:45 Type->Type +testdata/Builtins.lc 160:34-160:50 Type +testdata/Builtins.lc 160:34-160:72 Type +testdata/Builtins.lc 160:44-160:45 V1 +testdata/Builtins.lc 160:46-160:50 Type +testdata/Builtins.lc 160:55-160:64 Nat -> Type->Type +testdata/Builtins.lc 160:55-160:66 Type->Type +testdata/Builtins.lc 160:55-160:72 Type +testdata/Builtins.lc 160:65-160:66 Nat +testdata/Builtins.lc 160:67-160:72 Type +testdata/Builtins.lc 162:1-162:11 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->Float +testdata/Builtins.lc 162:34-162:71 Type testdata/Builtins.lc 162:35-162:36 V4 testdata/Builtins.lc 162:35-162:38 V3->Type testdata/Builtins.lc 162:35-162:56 Type @@ -1602,14 +1587,13 @@ testdata/Builtins.lc 162:39-162:56 Type testdata/Builtins.lc 162:49-162:50 V1 testdata/Builtins.lc 162:51-162:56 Type testdata/Builtins.lc 162:61-162:62 Type -testdata/Builtins.lc 162:61-162:76 Type -testdata/Builtins.lc 162:66-162:67 Type -testdata/Builtins.lc 162:66-162:76 Type -testdata/Builtins.lc 162:71-162:76 Type -testdata/Builtins.lc 163:1-163:10 {a} -> {b : a ~ VecS Float 3} -> a -> a->a -testdata/Builtins.lc 163:34-163:72 Type -testdata/Builtins.lc 163:35-163:36 V2 -testdata/Builtins.lc 163:35-163:38 V1->Type +testdata/Builtins.lc 162:61-162:71 Type +testdata/Builtins.lc 162:66-162:71 Type +testdata/Builtins.lc 163:1-163:13 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->Float +testdata/Builtins.lc 163:15-163:22 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->Float +testdata/Builtins.lc 163:34-163:76 Type +testdata/Builtins.lc 163:35-163:36 V4 +testdata/Builtins.lc 163:35-163:38 V3->Type testdata/Builtins.lc 163:35-163:56 Type testdata/Builtins.lc 163:37-163:38 {a} -> a -> a->Type testdata/Builtins.lc 163:39-163:48 Nat -> Type->Type @@ -1618,14 +1602,14 @@ testdata/Builtins.lc 163:39-163:56 Type testdata/Builtins.lc 163:49-163:50 V1 testdata/Builtins.lc 163:51-163:56 Type testdata/Builtins.lc 163:61-163:62 Type -testdata/Builtins.lc 163:61-163:72 Type +testdata/Builtins.lc 163:61-163:76 Type testdata/Builtins.lc 163:66-163:67 Type -testdata/Builtins.lc 163:66-163:72 Type -testdata/Builtins.lc 163:71-163:72 Type -testdata/Builtins.lc 164:1-164:14 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 164:34-164:67 Type -testdata/Builtins.lc 164:35-164:36 V4 -testdata/Builtins.lc 164:35-164:38 V3->Type +testdata/Builtins.lc 163:66-163:76 Type +testdata/Builtins.lc 163:71-163:76 Type +testdata/Builtins.lc 164:1-164:10 {a} -> {b : a ~ VecS Float 3} -> a -> a->a +testdata/Builtins.lc 164:34-164:72 Type +testdata/Builtins.lc 164:35-164:36 V2 +testdata/Builtins.lc 164:35-164:38 V1->Type testdata/Builtins.lc 164:35-164:56 Type testdata/Builtins.lc 164:37-164:38 {a} -> a -> a->Type testdata/Builtins.lc 164:39-164:48 Nat -> Type->Type @@ -1634,11 +1618,12 @@ testdata/Builtins.lc 164:39-164:56 Type testdata/Builtins.lc 164:49-164:50 V1 testdata/Builtins.lc 164:51-164:56 Type testdata/Builtins.lc 164:61-164:62 Type -testdata/Builtins.lc 164:61-164:67 Type +testdata/Builtins.lc 164:61-164:72 Type testdata/Builtins.lc 164:66-164:67 Type -testdata/Builtins.lc 165:1-165:16 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a -testdata/Builtins.lc 165:18-165:29 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a -testdata/Builtins.lc 165:34-165:77 Type +testdata/Builtins.lc 164:66-164:72 Type +testdata/Builtins.lc 164:71-164:72 Type +testdata/Builtins.lc 165:1-165:14 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 165:34-165:67 Type testdata/Builtins.lc 165:35-165:36 V4 testdata/Builtins.lc 165:35-165:38 V3->Type testdata/Builtins.lc 165:35-165:56 Type @@ -1649,14 +1634,11 @@ testdata/Builtins.lc 165:39-165:56 Type testdata/Builtins.lc 165:49-165:50 V1 testdata/Builtins.lc 165:51-165:56 Type testdata/Builtins.lc 165:61-165:62 Type -testdata/Builtins.lc 165:61-165:77 Type +testdata/Builtins.lc 165:61-165:67 Type testdata/Builtins.lc 165:66-165:67 Type -testdata/Builtins.lc 165:66-165:77 Type -testdata/Builtins.lc 165:71-165:72 Type -testdata/Builtins.lc 165:71-165:77 Type -testdata/Builtins.lc 165:76-165:77 Type -testdata/Builtins.lc 166:1-166:12 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a -testdata/Builtins.lc 166:34-166:72 Type +testdata/Builtins.lc 166:1-166:16 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a +testdata/Builtins.lc 166:18-166:29 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a +testdata/Builtins.lc 166:34-166:77 Type testdata/Builtins.lc 166:35-166:36 V4 testdata/Builtins.lc 166:35-166:38 V3->Type testdata/Builtins.lc 166:35-166:56 Type @@ -1667,223 +1649,229 @@ testdata/Builtins.lc 166:39-166:56 Type testdata/Builtins.lc 166:49-166:50 V1 testdata/Builtins.lc 166:51-166:56 Type testdata/Builtins.lc 166:61-166:62 Type -testdata/Builtins.lc 166:61-166:72 Type +testdata/Builtins.lc 166:61-166:77 Type testdata/Builtins.lc 166:66-166:67 Type -testdata/Builtins.lc 166:66-166:72 Type +testdata/Builtins.lc 166:66-166:77 Type testdata/Builtins.lc 166:71-166:72 Type -testdata/Builtins.lc 168:1-168:14 {a:Nat} -> {b:Nat} -> {c} -> Mat a b c -> Mat b a c -testdata/Builtins.lc 168:34-168:37 Nat -> Nat -> Type->Type -testdata/Builtins.lc 168:34-168:39 Nat -> Type->Type -testdata/Builtins.lc 168:34-168:41 Type->Type -testdata/Builtins.lc 168:34-168:43 Type -testdata/Builtins.lc 168:34-168:56 Type -testdata/Builtins.lc 168:38-168:39 V5 -testdata/Builtins.lc 168:40-168:41 V3 -testdata/Builtins.lc 168:42-168:43 V1 -testdata/Builtins.lc 168:47-168:50 Nat -> Nat -> Type->Type -testdata/Builtins.lc 168:47-168:52 Nat -> Type->Type -testdata/Builtins.lc 168:47-168:54 Type->Type -testdata/Builtins.lc 168:47-168:56 Type -testdata/Builtins.lc 168:51-168:52 Nat -testdata/Builtins.lc 168:53-168:54 Nat -testdata/Builtins.lc 168:55-168:56 Type -testdata/Builtins.lc 169:1-169:16 {a:Nat} -> {b} -> Mat a a b -> Float +testdata/Builtins.lc 166:71-166:77 Type +testdata/Builtins.lc 166:76-166:77 Type +testdata/Builtins.lc 167:1-167:12 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a +testdata/Builtins.lc 167:34-167:72 Type +testdata/Builtins.lc 167:35-167:36 V4 +testdata/Builtins.lc 167:35-167:38 V3->Type +testdata/Builtins.lc 167:35-167:56 Type +testdata/Builtins.lc 167:37-167:38 {a} -> a -> a->Type +testdata/Builtins.lc 167:39-167:48 Nat -> Type->Type +testdata/Builtins.lc 167:39-167:50 Type->Type +testdata/Builtins.lc 167:39-167:56 Type +testdata/Builtins.lc 167:49-167:50 V1 +testdata/Builtins.lc 167:51-167:56 Type +testdata/Builtins.lc 167:61-167:62 Type +testdata/Builtins.lc 167:61-167:72 Type +testdata/Builtins.lc 167:66-167:67 Type +testdata/Builtins.lc 167:66-167:72 Type +testdata/Builtins.lc 167:71-167:72 Type +testdata/Builtins.lc 169:1-169:14 {a:Nat} -> {b:Nat} -> {c} -> Mat a b c -> Mat b a c testdata/Builtins.lc 169:34-169:37 Nat -> Nat -> Type->Type testdata/Builtins.lc 169:34-169:39 Nat -> Type->Type testdata/Builtins.lc 169:34-169:41 Type->Type testdata/Builtins.lc 169:34-169:43 Type -testdata/Builtins.lc 169:34-169:52 Type -testdata/Builtins.lc 169:38-169:39 V3 -testdata/Builtins.lc 169:40-169:41 Nat +testdata/Builtins.lc 169:34-169:56 Type +testdata/Builtins.lc 169:38-169:39 V5 +testdata/Builtins.lc 169:40-169:41 V3 testdata/Builtins.lc 169:42-169:43 V1 -testdata/Builtins.lc 169:47-169:52 Type -testdata/Builtins.lc 170:1-170:12 {a:Nat} -> {b} -> Mat a a b -> Mat a a b +testdata/Builtins.lc 169:47-169:50 Nat -> Nat -> Type->Type +testdata/Builtins.lc 169:47-169:52 Nat -> Type->Type +testdata/Builtins.lc 169:47-169:54 Type->Type +testdata/Builtins.lc 169:47-169:56 Type +testdata/Builtins.lc 169:51-169:52 Nat +testdata/Builtins.lc 169:53-169:54 Nat +testdata/Builtins.lc 169:55-169:56 Type +testdata/Builtins.lc 170:1-170:16 {a:Nat} -> {b} -> Mat a a b -> Float testdata/Builtins.lc 170:34-170:37 Nat -> Nat -> Type->Type testdata/Builtins.lc 170:34-170:39 Nat -> Type->Type testdata/Builtins.lc 170:34-170:41 Type->Type testdata/Builtins.lc 170:34-170:43 Type -testdata/Builtins.lc 170:34-170:56 Type +testdata/Builtins.lc 170:34-170:52 Type testdata/Builtins.lc 170:38-170:39 V3 testdata/Builtins.lc 170:40-170:41 Nat testdata/Builtins.lc 170:42-170:43 V1 -testdata/Builtins.lc 170:47-170:50 Nat -> Nat -> Type->Type -testdata/Builtins.lc 170:47-170:52 Nat -> Type->Type -testdata/Builtins.lc 170:47-170:54 Type->Type -testdata/Builtins.lc 170:47-170:56 Type -testdata/Builtins.lc 170:51-170:52 Nat -testdata/Builtins.lc 170:53-170:54 Nat -testdata/Builtins.lc 170:55-170:56 Type -testdata/Builtins.lc 171:1-171:17 {a:Nat} -> {b} -> {c:Nat} -> Vec a b -> Vec c b -> Mat c a b -testdata/Builtins.lc 171:34-171:37 Nat -> Type->Type -testdata/Builtins.lc 171:34-171:39 Type->Type -testdata/Builtins.lc 171:34-171:41 Type -testdata/Builtins.lc 171:34-171:69 Type -testdata/Builtins.lc 171:38-171:39 V5 -testdata/Builtins.lc 171:40-171:41 V3 -testdata/Builtins.lc 171:47-171:50 Nat -> Type->Type -testdata/Builtins.lc 171:47-171:52 Type->Type -testdata/Builtins.lc 171:47-171:54 Type -testdata/Builtins.lc 171:47-171:69 Type -testdata/Builtins.lc 171:51-171:52 V2 -testdata/Builtins.lc 171:53-171:54 Type -testdata/Builtins.lc 171:60-171:63 Nat -> Nat -> Type->Type -testdata/Builtins.lc 171:60-171:65 Nat -> Type->Type -testdata/Builtins.lc 171:60-171:67 Type->Type -testdata/Builtins.lc 171:60-171:69 Type -testdata/Builtins.lc 171:64-171:65 Nat -testdata/Builtins.lc 171:66-171:67 Nat -testdata/Builtins.lc 171:68-171:69 Type -testdata/Builtins.lc 172:1-172:14 {a:Nat} -> {b:Nat} -> {c} -> Mat a b c -> Vec b c -> Vec a c -testdata/Builtins.lc 172:34-172:37 Nat -> Nat -> Type->Type -testdata/Builtins.lc 172:34-172:39 Nat -> Type->Type -testdata/Builtins.lc 172:34-172:41 Type->Type -testdata/Builtins.lc 172:34-172:43 Type -testdata/Builtins.lc 172:34-172:67 Type +testdata/Builtins.lc 170:47-170:52 Type +testdata/Builtins.lc 171:1-171:12 {a:Nat} -> {b} -> Mat a a b -> Mat a a b +testdata/Builtins.lc 171:34-171:37 Nat -> Nat -> Type->Type +testdata/Builtins.lc 171:34-171:39 Nat -> Type->Type +testdata/Builtins.lc 171:34-171:41 Type->Type +testdata/Builtins.lc 171:34-171:43 Type +testdata/Builtins.lc 171:34-171:56 Type +testdata/Builtins.lc 171:38-171:39 V3 +testdata/Builtins.lc 171:40-171:41 Nat +testdata/Builtins.lc 171:42-171:43 V1 +testdata/Builtins.lc 171:47-171:50 Nat -> Nat -> Type->Type +testdata/Builtins.lc 171:47-171:52 Nat -> Type->Type +testdata/Builtins.lc 171:47-171:54 Type->Type +testdata/Builtins.lc 171:47-171:56 Type +testdata/Builtins.lc 171:51-171:52 Nat +testdata/Builtins.lc 171:53-171:54 Nat +testdata/Builtins.lc 171:55-171:56 Type +testdata/Builtins.lc 172:1-172:17 {a:Nat} -> {b} -> {c:Nat} -> Vec a b -> Vec c b -> Mat c a b +testdata/Builtins.lc 172:34-172:37 Nat -> Type->Type +testdata/Builtins.lc 172:34-172:39 Type->Type +testdata/Builtins.lc 172:34-172:41 Type +testdata/Builtins.lc 172:34-172:69 Type testdata/Builtins.lc 172:38-172:39 V5 testdata/Builtins.lc 172:40-172:41 V3 -testdata/Builtins.lc 172:42-172:43 V1 testdata/Builtins.lc 172:47-172:50 Nat -> Type->Type testdata/Builtins.lc 172:47-172:52 Type->Type testdata/Builtins.lc 172:47-172:54 Type -testdata/Builtins.lc 172:47-172:67 Type -testdata/Builtins.lc 172:51-172:52 Nat +testdata/Builtins.lc 172:47-172:69 Type +testdata/Builtins.lc 172:51-172:52 V2 testdata/Builtins.lc 172:53-172:54 Type -testdata/Builtins.lc 172:60-172:63 Nat -> Type->Type -testdata/Builtins.lc 172:60-172:65 Type->Type -testdata/Builtins.lc 172:60-172:67 Type +testdata/Builtins.lc 172:60-172:63 Nat -> Nat -> Type->Type +testdata/Builtins.lc 172:60-172:65 Nat -> Type->Type +testdata/Builtins.lc 172:60-172:67 Type->Type +testdata/Builtins.lc 172:60-172:69 Type testdata/Builtins.lc 172:64-172:65 Nat -testdata/Builtins.lc 172:66-172:67 Type -testdata/Builtins.lc 173:1-173:14 {a:Nat} -> {b} -> {c:Nat} -> Vec a b -> Mat a c b -> Vec c b -testdata/Builtins.lc 173:34-173:37 Nat -> Type->Type -testdata/Builtins.lc 173:34-173:39 Type->Type -testdata/Builtins.lc 173:34-173:41 Type +testdata/Builtins.lc 172:66-172:67 Nat +testdata/Builtins.lc 172:68-172:69 Type +testdata/Builtins.lc 173:1-173:14 {a:Nat} -> {b:Nat} -> {c} -> Mat a b c -> Vec b c -> Vec a c +testdata/Builtins.lc 173:34-173:37 Nat -> Nat -> Type->Type +testdata/Builtins.lc 173:34-173:39 Nat -> Type->Type +testdata/Builtins.lc 173:34-173:41 Type->Type +testdata/Builtins.lc 173:34-173:43 Type testdata/Builtins.lc 173:34-173:67 Type testdata/Builtins.lc 173:38-173:39 V5 testdata/Builtins.lc 173:40-173:41 V3 -testdata/Builtins.lc 173:47-173:50 Nat -> Nat -> Type->Type -testdata/Builtins.lc 173:47-173:52 Nat -> Type->Type -testdata/Builtins.lc 173:47-173:54 Type->Type -testdata/Builtins.lc 173:47-173:56 Type +testdata/Builtins.lc 173:42-173:43 V1 +testdata/Builtins.lc 173:47-173:50 Nat -> Type->Type +testdata/Builtins.lc 173:47-173:52 Type->Type +testdata/Builtins.lc 173:47-173:54 Type testdata/Builtins.lc 173:47-173:67 Type testdata/Builtins.lc 173:51-173:52 Nat -testdata/Builtins.lc 173:53-173:54 V2 -testdata/Builtins.lc 173:55-173:56 Type +testdata/Builtins.lc 173:53-173:54 Type testdata/Builtins.lc 173:60-173:63 Nat -> Type->Type testdata/Builtins.lc 173:60-173:65 Type->Type testdata/Builtins.lc 173:60-173:67 Type testdata/Builtins.lc 173:64-173:65 Nat testdata/Builtins.lc 173:66-173:67 Type -testdata/Builtins.lc 174:1-174:14 {a:Nat} -> {b:Nat} -> {c} -> {d:Nat} -> Mat a b c -> Mat b d c -> Mat a d c -testdata/Builtins.lc 174:34-174:37 Nat -> Nat -> Type->Type -testdata/Builtins.lc 174:34-174:39 Nat -> Type->Type -testdata/Builtins.lc 174:34-174:41 Type->Type -testdata/Builtins.lc 174:34-174:43 Type -testdata/Builtins.lc 174:34-174:69 Type -testdata/Builtins.lc 174:38-174:39 V7 -testdata/Builtins.lc 174:40-174:41 V5 -testdata/Builtins.lc 174:42-174:43 V3 +testdata/Builtins.lc 174:1-174:14 {a:Nat} -> {b} -> {c:Nat} -> Vec a b -> Mat a c b -> Vec c b +testdata/Builtins.lc 174:34-174:37 Nat -> Type->Type +testdata/Builtins.lc 174:34-174:39 Type->Type +testdata/Builtins.lc 174:34-174:41 Type +testdata/Builtins.lc 174:34-174:67 Type +testdata/Builtins.lc 174:38-174:39 V5 +testdata/Builtins.lc 174:40-174:41 V3 testdata/Builtins.lc 174:47-174:50 Nat -> Nat -> Type->Type testdata/Builtins.lc 174:47-174:52 Nat -> Type->Type testdata/Builtins.lc 174:47-174:54 Type->Type testdata/Builtins.lc 174:47-174:56 Type -testdata/Builtins.lc 174:47-174:69 Type +testdata/Builtins.lc 174:47-174:67 Type testdata/Builtins.lc 174:51-174:52 Nat testdata/Builtins.lc 174:53-174:54 V2 testdata/Builtins.lc 174:55-174:56 Type -testdata/Builtins.lc 174:60-174:63 Nat -> Nat -> Type->Type -testdata/Builtins.lc 174:60-174:65 Nat -> Type->Type -testdata/Builtins.lc 174:60-174:67 Type->Type -testdata/Builtins.lc 174:60-174:69 Type +testdata/Builtins.lc 174:60-174:63 Nat -> Type->Type +testdata/Builtins.lc 174:60-174:65 Type->Type +testdata/Builtins.lc 174:60-174:67 Type testdata/Builtins.lc 174:64-174:65 Nat -testdata/Builtins.lc 174:66-174:67 Nat -testdata/Builtins.lc 174:68-174:69 Type -testdata/Builtins.lc 176:1-176: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 176:15-176: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 176:34-176: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 176:51-176: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 176:73-176: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 176:85-176: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 177:51-177:114 Type -testdata/Builtins.lc 177:52-177:55 Type->Type -testdata/Builtins.lc 177:52-177:57 Type -testdata/Builtins.lc 177:56-177:57 V3 -testdata/Builtins.lc 177:59-177:60 V8 -testdata/Builtins.lc 177:59-177:62 V7->Type -testdata/Builtins.lc 177:59-177:76 Type -testdata/Builtins.lc 177:59-177:114 Type -testdata/Builtins.lc 177:61-177:62 {a} -> a -> a->Type -testdata/Builtins.lc 177:63-177:72 Nat -> Type->Type -testdata/Builtins.lc 177:63-177:74 Type->Type -testdata/Builtins.lc 177:63-177:76 Type -testdata/Builtins.lc 177:73-177:74 V5 -testdata/Builtins.lc 177:75-177:76 Type -testdata/Builtins.lc 177:78-177:79 V4 -testdata/Builtins.lc 177:78-177:81 V3->Type -testdata/Builtins.lc 177:78-177:98 Type -testdata/Builtins.lc 177:78-177:114 Type -testdata/Builtins.lc 177:80-177:81 {a} -> a -> a->Type -testdata/Builtins.lc 177:82-177:91 Nat -> Type->Type -testdata/Builtins.lc 177:82-177:93 Type->Type -testdata/Builtins.lc 177:82-177:98 Type -testdata/Builtins.lc 177:92-177:93 Nat -testdata/Builtins.lc 177:94-177:98 Type -testdata/Builtins.lc 177:103-177:104 Type -testdata/Builtins.lc 177:103-177:114 Type -testdata/Builtins.lc 177:108-177:109 Type -testdata/Builtins.lc 177:108-177:114 Type -testdata/Builtins.lc 177:113-177:114 Type -testdata/Builtins.lc 178:1-178:10 {a} -> {b} -> {c : b ~ MatVecScalarElem a} -> a -> a->Bool -testdata/Builtins.lc 178:12-178:24 {a} -> {b} -> {c : b ~ MatVecScalarElem a} -> a -> a->Bool -testdata/Builtins.lc 178:47-178:89 Type -testdata/Builtins.lc 178:48-178:49 V2 -testdata/Builtins.lc 178:48-178:51 V1->Type -testdata/Builtins.lc 178:48-178:70 Type -testdata/Builtins.lc 178:50-178:51 {a} -> a -> a->Type -testdata/Builtins.lc 178:52-178:68 Type->Type -testdata/Builtins.lc 178:52-178:70 Type -testdata/Builtins.lc 178:69-178:70 V2 +testdata/Builtins.lc 174:66-174:67 Type +testdata/Builtins.lc 175:1-175:14 {a:Nat} -> {b:Nat} -> {c} -> {d:Nat} -> Mat a b c -> Mat b d c -> Mat a d c +testdata/Builtins.lc 175:34-175:37 Nat -> Nat -> Type->Type +testdata/Builtins.lc 175:34-175:39 Nat -> Type->Type +testdata/Builtins.lc 175:34-175:41 Type->Type +testdata/Builtins.lc 175:34-175:43 Type +testdata/Builtins.lc 175:34-175:69 Type +testdata/Builtins.lc 175:38-175:39 V7 +testdata/Builtins.lc 175:40-175:41 V5 +testdata/Builtins.lc 175:42-175:43 V3 +testdata/Builtins.lc 175:47-175:50 Nat -> Nat -> Type->Type +testdata/Builtins.lc 175:47-175:52 Nat -> Type->Type +testdata/Builtins.lc 175:47-175:54 Type->Type +testdata/Builtins.lc 175:47-175:56 Type +testdata/Builtins.lc 175:47-175:69 Type +testdata/Builtins.lc 175:51-175:52 Nat +testdata/Builtins.lc 175:53-175:54 V2 +testdata/Builtins.lc 175:55-175:56 Type +testdata/Builtins.lc 175:60-175:63 Nat -> Nat -> Type->Type +testdata/Builtins.lc 175:60-175:65 Nat -> Type->Type +testdata/Builtins.lc 175:60-175:67 Type->Type +testdata/Builtins.lc 175:60-175:69 Type +testdata/Builtins.lc 175:64-175:65 Nat +testdata/Builtins.lc 175:66-175:67 Nat +testdata/Builtins.lc 175:68-175:69 Type +testdata/Builtins.lc 177:1-177: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 177:15-177: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 177:34-177: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 177:51-177: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 177:73-177: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 177:85-177: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 178:51-178:114 Type +testdata/Builtins.lc 178:52-178:55 Type->Type +testdata/Builtins.lc 178:52-178:57 Type +testdata/Builtins.lc 178:56-178:57 V3 +testdata/Builtins.lc 178:59-178:60 V8 +testdata/Builtins.lc 178:59-178:62 V7->Type +testdata/Builtins.lc 178:59-178:76 Type +testdata/Builtins.lc 178:59-178:114 Type +testdata/Builtins.lc 178:61-178:62 {a} -> a -> a->Type +testdata/Builtins.lc 178:63-178:72 Nat -> Type->Type +testdata/Builtins.lc 178:63-178:74 Type->Type +testdata/Builtins.lc 178:63-178:76 Type +testdata/Builtins.lc 178:73-178:74 V5 testdata/Builtins.lc 178:75-178:76 Type -testdata/Builtins.lc 178:75-178:89 Type -testdata/Builtins.lc 178:80-178:81 Type -testdata/Builtins.lc 178:80-178:89 Type -testdata/Builtins.lc 178:85-178:89 Type -testdata/Builtins.lc 180:1-180:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 180:11-180:19 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 180:21-180:31 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a -testdata/Builtins.lc 181:34-181:67 Type -testdata/Builtins.lc 181:35-181:36 V4 -testdata/Builtins.lc 181:35-181:38 V3->Type -testdata/Builtins.lc 181:35-181:56 Type -testdata/Builtins.lc 181:37-181:38 {a} -> a -> a->Type -testdata/Builtins.lc 181:39-181:48 Nat -> Type->Type -testdata/Builtins.lc 181:39-181:50 Type->Type -testdata/Builtins.lc 181:39-181:56 Type -testdata/Builtins.lc 181:49-181:50 V1 -testdata/Builtins.lc 181:51-181:56 Type -testdata/Builtins.lc 181:61-181:62 Type -testdata/Builtins.lc 181:61-181:67 Type -testdata/Builtins.lc 181:66-181:67 Type -testdata/Builtins.lc 183:1-183:11 {a:Nat} -> VecScalar a Float -> Float -testdata/Builtins.lc 183:34-183:43 Nat -> Type->Type -testdata/Builtins.lc 183:34-183:45 Type->Type -testdata/Builtins.lc 183:34-183:51 Type -testdata/Builtins.lc 183:34-183:60 Type -testdata/Builtins.lc 183:44-183:45 V1 -testdata/Builtins.lc 183:46-183:51 Type -testdata/Builtins.lc 183:55-183:60 Type -testdata/Builtins.lc 184:1-184:11 {a:Nat} -> VecScalar a Float -> Vec 2 Float +testdata/Builtins.lc 178:78-178:79 V4 +testdata/Builtins.lc 178:78-178:81 V3->Type +testdata/Builtins.lc 178:78-178:98 Type +testdata/Builtins.lc 178:78-178:114 Type +testdata/Builtins.lc 178:80-178:81 {a} -> a -> a->Type +testdata/Builtins.lc 178:82-178:91 Nat -> Type->Type +testdata/Builtins.lc 178:82-178:93 Type->Type +testdata/Builtins.lc 178:82-178:98 Type +testdata/Builtins.lc 178:92-178:93 Nat +testdata/Builtins.lc 178:94-178:98 Type +testdata/Builtins.lc 178:103-178:104 Type +testdata/Builtins.lc 178:103-178:114 Type +testdata/Builtins.lc 178:108-178:109 Type +testdata/Builtins.lc 178:108-178:114 Type +testdata/Builtins.lc 178:113-178:114 Type +testdata/Builtins.lc 179:1-179:10 {a} -> {b} -> {c : b ~ MatVecScalarElem a} -> a -> a->Bool +testdata/Builtins.lc 179:12-179:24 {a} -> {b} -> {c : b ~ MatVecScalarElem a} -> a -> a->Bool +testdata/Builtins.lc 179:47-179:89 Type +testdata/Builtins.lc 179:48-179:49 V2 +testdata/Builtins.lc 179:48-179:51 V1->Type +testdata/Builtins.lc 179:48-179:70 Type +testdata/Builtins.lc 179:50-179:51 {a} -> a -> a->Type +testdata/Builtins.lc 179:52-179:68 Type->Type +testdata/Builtins.lc 179:52-179:70 Type +testdata/Builtins.lc 179:69-179:70 V2 +testdata/Builtins.lc 179:75-179:76 Type +testdata/Builtins.lc 179:75-179:89 Type +testdata/Builtins.lc 179:80-179:81 Type +testdata/Builtins.lc 179:80-179:89 Type +testdata/Builtins.lc 179:85-179:89 Type +testdata/Builtins.lc 181:1-181:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 181:11-181:19 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 181:21-181:31 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a +testdata/Builtins.lc 182:34-182:67 Type +testdata/Builtins.lc 182:35-182:36 V4 +testdata/Builtins.lc 182:35-182:38 V3->Type +testdata/Builtins.lc 182:35-182:56 Type +testdata/Builtins.lc 182:37-182:38 {a} -> a -> a->Type +testdata/Builtins.lc 182:39-182:48 Nat -> Type->Type +testdata/Builtins.lc 182:39-182:50 Type->Type +testdata/Builtins.lc 182:39-182:56 Type +testdata/Builtins.lc 182:49-182:50 V1 +testdata/Builtins.lc 182:51-182:56 Type +testdata/Builtins.lc 182:61-182:62 Type +testdata/Builtins.lc 182:61-182:67 Type +testdata/Builtins.lc 182:66-182:67 Type +testdata/Builtins.lc 184:1-184:11 {a:Nat} -> VecScalar a Float -> Float testdata/Builtins.lc 184:34-184:43 Nat -> Type->Type testdata/Builtins.lc 184:34-184:45 Type->Type testdata/Builtins.lc 184:34-184:51 Type -testdata/Builtins.lc 184:34-184:66 Type +testdata/Builtins.lc 184:34-184:60 Type testdata/Builtins.lc 184:44-184:45 V1 testdata/Builtins.lc 184:46-184:51 Type -testdata/Builtins.lc 184:55-184:58 Nat -> Type->Type -testdata/Builtins.lc 184:55-184:60 Type->Type -testdata/Builtins.lc 184:55-184:66 Type -testdata/Builtins.lc 184:59-184:60 V1 -testdata/Builtins.lc 184:61-184:66 Type -testdata/Builtins.lc 185:1-185:11 {a:Nat} -> VecScalar a Float -> Vec 3 Float +testdata/Builtins.lc 184:55-184:60 Type +testdata/Builtins.lc 185:1-185:11 {a:Nat} -> VecScalar a Float -> Vec 2 Float testdata/Builtins.lc 185:34-185:43 Nat -> Type->Type testdata/Builtins.lc 185:34-185:45 Type->Type testdata/Builtins.lc 185:34-185:51 Type @@ -1895,7 +1883,7 @@ testdata/Builtins.lc 185:55-185:60 Type->Type testdata/Builtins.lc 185:55-185:66 Type testdata/Builtins.lc 185:59-185:60 V1 testdata/Builtins.lc 185:61-185:66 Type -testdata/Builtins.lc 186:1-186:11 {a:Nat} -> VecScalar a Float -> Vec 4 Float +testdata/Builtins.lc 186:1-186:11 {a:Nat} -> VecScalar a Float -> Vec 3 Float testdata/Builtins.lc 186:34-186:43 Nat -> Type->Type testdata/Builtins.lc 186:34-186:45 Type->Type testdata/Builtins.lc 186:34-186:51 Type @@ -1907,1099 +1895,1111 @@ testdata/Builtins.lc 186:55-186:60 Type->Type testdata/Builtins.lc 186:55-186:66 Type testdata/Builtins.lc 186:59-186:60 V1 testdata/Builtins.lc 186:61-186:66 Type -testdata/Builtins.lc 200:1-200:5 {a} -> List a -> a -testdata/Builtins.lc 200:8-200:9 V2 -testdata/Builtins.lc 200:8-200:16 V0 -testdata/Builtins.lc 200:15-200:16 List V2 -> V2 | V1 -> List V2 -> V2 | V3 -testdata/Builtins.lc 202:6-202:8 {a} -> List a -> List a -> List a -testdata/Builtins.lc 202:14-202:16 V3 -testdata/Builtins.lc 202:14-203:26 List V0 -> List V1 | V0->V1 -testdata/Builtins.lc 203:14-203:15 V3 -testdata/Builtins.lc 203:14-203:17 List V2 -> List V3 -testdata/Builtins.lc 203:14-203:26 List V1 -> V4 | List V2 | V0 -> List V1 -> V4 -testdata/Builtins.lc 203:16-203:17 {a} -> a -> List a -> List a -testdata/Builtins.lc 203:18-203:20 List V5 -testdata/Builtins.lc 203:21-203:23 V7 -testdata/Builtins.lc 203:24-203:26 List V6 -testdata/Builtins.lc 205:1-205:6 {a} -> {b} -> (b -> a->a) -> a -> List b -> a -testdata/Builtins.lc 205:16-205:17 V5 -testdata/Builtins.lc 205:16-206:39 List V1 -> V6 | V0->V1 -testdata/Builtins.lc 206:21-206:22 V8 -testdata/Builtins.lc 206:21-206:39 List V1 -> V6 | V0 -> List V1 -> V6 -testdata/Builtins.lc 206:23-206:24 V5 -testdata/Builtins.lc 206:26-206:31 V13 -testdata/Builtins.lc 206:32-206:33 V9->V7 -testdata/Builtins.lc 206:34-206:35 V14 -testdata/Builtins.lc 206:36-206:38 List V10 -testdata/Builtins.lc 208:1-208:7 {a} -> List (List a) -> List a -testdata/Builtins.lc 208:10-208:15 {a} -> {b} -> (b -> a->a) -> a -> List b -> a -testdata/Builtins.lc 208:10-208:20 List V0 -> List (List V1) -> List V2 -testdata/Builtins.lc 208:10-208:23 List (List V0) -> List V1 -testdata/Builtins.lc 208:16-208:20 {a} -> List a -> List a -> List a -testdata/Builtins.lc 208:21-208:23 {a} -> List a -testdata/Builtins.lc 210:1-210:4 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 210:16-210:18 {a} -> List a -testdata/Builtins.lc 210:16-211:30 List V1 -> List V1 | V0->V1 -testdata/Builtins.lc 211:16-211:17 V8 -testdata/Builtins.lc 211:16-211:21 List V0 -> List V1 -testdata/Builtins.lc 211:16-211:30 List V2 | List V2 -> List V2 | V1 -> List V2 -> List V2 -testdata/Builtins.lc 211:18-211:19 V7 -testdata/Builtins.lc 211:20-211:21 {a} -> a -> List a -> List a -testdata/Builtins.lc 211:22-211:25 V8 -testdata/Builtins.lc 211:26-211:27 V6->V6 -testdata/Builtins.lc 211:28-211:30 List V7 -testdata/Builtins.lc 213:14-213:38 Type -testdata/Builtins.lc 213:15-213:16 V3 -testdata/Builtins.lc 213:20-213:23 Type -testdata/Builtins.lc 213:21-213:22 V2 -testdata/Builtins.lc 213:28-213:38 Type -testdata/Builtins.lc 213:29-213:30 Type -testdata/Builtins.lc 213:35-213:38 Type -testdata/Builtins.lc 213:36-213:37 Type -testdata/Builtins.lc 214:1-214:10 {a} -> {b} -> (a -> List b) -> List a -> List b -testdata/Builtins.lc 214:17-214:23 {a} -> List (List a) -> List a -testdata/Builtins.lc 214:17-214:33 (V1 -> List V1) -> List V2 -> List V2 | List V2 | List V2 -> List V2 -testdata/Builtins.lc 214:25-214:28 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 214:25-214:30 List V4 -> List (List V4) -testdata/Builtins.lc 214:25-214:32 List (List V2) -testdata/Builtins.lc 214:29-214:30 V6 -> List V6 -testdata/Builtins.lc 214:31-214:32 List V3 -testdata/Builtins.lc 218:6-218:11 Type | Type->Type -testdata/Builtins.lc 218:6-220:11 Type -testdata/Builtins.lc 218:6-220:13 Type -testdata/Builtins.lc 219:7-219:14 Maybe V1 | {a} -> Maybe a -testdata/Builtins.lc 220:7-220:11 Maybe V3 | Type | {a} -> a -> Maybe a -testdata/Builtins.lc 220:12-220:13 Type -testdata/Builtins.lc 223:6-223:12 Nat -> Type->Type | Type -testdata/Builtins.lc 223:19-223:22 Type -testdata/Builtins.lc 227:6-227:19 Type -testdata/Builtins.lc 227:6-232:20 Type -testdata/Builtins.lc 228:7-228:15 PrimitiveType -testdata/Builtins.lc 229:7-229:11 PrimitiveType -testdata/Builtins.lc 230:7-230:12 PrimitiveType -testdata/Builtins.lc 231:7-231:24 PrimitiveType -testdata/Builtins.lc 232:7-232:20 PrimitiveType -testdata/Builtins.lc 234:6-234:15 Type | Type -> PrimitiveType->Type -testdata/Builtins.lc 234:6-237:56 Type -testdata/Builtins.lc 234:21-234:34 Type -testdata/Builtins.lc 234:21-234:42 Type -testdata/Builtins.lc 234:38-234:42 Type -testdata/Builtins.lc 235:5-235:14 Primitive V2 'Point | {a} -> a -> Primitive a 'Point -testdata/Builtins.lc 235:5-235:53 Type -testdata/Builtins.lc 235:21-235:22 Type -testdata/Builtins.lc 235:21-235:53 Type -testdata/Builtins.lc 235:36-235:45 Type -> PrimitiveType->Type -testdata/Builtins.lc 235:36-235:47 PrimitiveType->Type -testdata/Builtins.lc 235:36-235:53 Type -testdata/Builtins.lc 235:46-235:47 Type -testdata/Builtins.lc 235:48-235:53 PrimitiveType -testdata/Builtins.lc 236:5-236:13 Primitive V4 'Line | {a} -> a -> a -> Primitive a 'Line -testdata/Builtins.lc 236:5-236:52 Type +testdata/Builtins.lc 187:1-187:11 {a:Nat} -> VecScalar a Float -> Vec 4 Float +testdata/Builtins.lc 187:34-187:43 Nat -> Type->Type +testdata/Builtins.lc 187:34-187:45 Type->Type +testdata/Builtins.lc 187:34-187:51 Type +testdata/Builtins.lc 187:34-187:66 Type +testdata/Builtins.lc 187:44-187:45 V1 +testdata/Builtins.lc 187:46-187:51 Type +testdata/Builtins.lc 187:55-187:58 Nat -> Type->Type +testdata/Builtins.lc 187:55-187:60 Type->Type +testdata/Builtins.lc 187:55-187:66 Type +testdata/Builtins.lc 187:59-187:60 V1 +testdata/Builtins.lc 187:61-187:66 Type +testdata/Builtins.lc 201:1-201:5 {a} -> List a -> a +testdata/Builtins.lc 201:8-201:9 V2 +testdata/Builtins.lc 201:8-201:16 V0 +testdata/Builtins.lc 201:15-201:16 List V2 -> V2 | V1 -> List V2 -> V2 | V3 +testdata/Builtins.lc 203:6-203:8 {a} -> List a -> List a -> List a +testdata/Builtins.lc 203:14-203:16 V3 +testdata/Builtins.lc 203:14-204:26 List V0 -> List V1 | V0->V1 +testdata/Builtins.lc 204:14-204:15 V3 +testdata/Builtins.lc 204:14-204:17 List V2 -> List V3 +testdata/Builtins.lc 204:14-204:26 List V1 -> V4 | List V2 | V0 -> List V1 -> V4 +testdata/Builtins.lc 204:16-204:17 {a} -> a -> List a -> List a +testdata/Builtins.lc 204:18-204:20 List V5 +testdata/Builtins.lc 204:21-204:23 V7 +testdata/Builtins.lc 204:24-204:26 List V6 +testdata/Builtins.lc 206:1-206:6 {a} -> {b} -> (b -> a->a) -> a -> List b -> a +testdata/Builtins.lc 206:16-206:17 V5 +testdata/Builtins.lc 206:16-207:39 List V1 -> V6 | V0->V1 +testdata/Builtins.lc 207:21-207:22 V8 +testdata/Builtins.lc 207:21-207:39 List V1 -> V6 | V0 -> List V1 -> V6 +testdata/Builtins.lc 207:23-207:24 V5 +testdata/Builtins.lc 207:26-207:31 V13 +testdata/Builtins.lc 207:32-207:33 V9->V7 +testdata/Builtins.lc 207:34-207:35 V14 +testdata/Builtins.lc 207:36-207:38 List V10 +testdata/Builtins.lc 209:1-209:7 {a} -> List (List a) -> List a +testdata/Builtins.lc 209:10-209:15 {a} -> {b} -> (b -> a->a) -> a -> List b -> a +testdata/Builtins.lc 209:10-209:20 List V0 -> List (List V1) -> List V2 +testdata/Builtins.lc 209:10-209:23 List (List V0) -> List V1 +testdata/Builtins.lc 209:16-209:20 {a} -> List a -> List a -> List a +testdata/Builtins.lc 209:21-209:23 {a} -> List a +testdata/Builtins.lc 211:1-211:4 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 211:16-211:18 {a} -> List a +testdata/Builtins.lc 211:16-212:30 List V1 -> List V1 | V0->V1 +testdata/Builtins.lc 212:16-212:17 V8 +testdata/Builtins.lc 212:16-212:21 List V0 -> List V1 +testdata/Builtins.lc 212:16-212:30 List V2 | List V2 -> List V2 | V1 -> List V2 -> List V2 +testdata/Builtins.lc 212:18-212:19 V7 +testdata/Builtins.lc 212:20-212:21 {a} -> a -> List a -> List a +testdata/Builtins.lc 212:22-212:25 V8 +testdata/Builtins.lc 212:26-212:27 V6->V6 +testdata/Builtins.lc 212:28-212:30 List V7 +testdata/Builtins.lc 214:14-214:38 Type +testdata/Builtins.lc 214:15-214:16 V3 +testdata/Builtins.lc 214:20-214:23 Type +testdata/Builtins.lc 214:21-214:22 V2 +testdata/Builtins.lc 214:28-214:38 Type +testdata/Builtins.lc 214:29-214:30 Type +testdata/Builtins.lc 214:35-214:38 Type +testdata/Builtins.lc 214:36-214:37 Type +testdata/Builtins.lc 215:1-215:10 {a} -> {b} -> (a -> List b) -> List a -> List b +testdata/Builtins.lc 215:17-215:23 {a} -> List (List a) -> List a +testdata/Builtins.lc 215:17-215:33 (V1 -> List V1) -> List V2 -> List V2 | List V2 | List V2 -> List V2 +testdata/Builtins.lc 215:25-215:28 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 215:25-215:30 List V4 -> List (List V4) +testdata/Builtins.lc 215:25-215:32 List (List V2) +testdata/Builtins.lc 215:29-215:30 V6 -> List V6 +testdata/Builtins.lc 215:31-215:32 List V3 +testdata/Builtins.lc 219:6-219:11 Type | Type->Type +testdata/Builtins.lc 219:6-221:11 Type +testdata/Builtins.lc 219:6-221:13 Type +testdata/Builtins.lc 220:7-220:14 Maybe V1 | {a} -> Maybe a +testdata/Builtins.lc 221:7-221:11 Maybe V3 | Type | {a} -> a -> Maybe a +testdata/Builtins.lc 221:12-221:13 Type +testdata/Builtins.lc 224:6-224:12 Nat -> Type->Type | Type +testdata/Builtins.lc 224:19-224:22 Type +testdata/Builtins.lc 228:6-228:19 Type +testdata/Builtins.lc 228:6-233:20 Type +testdata/Builtins.lc 229:7-229:15 PrimitiveType +testdata/Builtins.lc 230:7-230:11 PrimitiveType +testdata/Builtins.lc 231:7-231:12 PrimitiveType +testdata/Builtins.lc 232:7-232:24 PrimitiveType +testdata/Builtins.lc 233:7-233:20 PrimitiveType +testdata/Builtins.lc 235:6-235:15 Type | Type -> PrimitiveType->Type +testdata/Builtins.lc 235:6-238:56 Type +testdata/Builtins.lc 235:21-235:34 Type +testdata/Builtins.lc 235:21-235:42 Type +testdata/Builtins.lc 235:38-235:42 Type +testdata/Builtins.lc 236:5-236:14 Primitive V2 'Point | {a} -> a -> Primitive a 'Point +testdata/Builtins.lc 236:5-236:53 Type testdata/Builtins.lc 236:21-236:22 Type -testdata/Builtins.lc 236:21-236:52 Type -testdata/Builtins.lc 236:26-236:27 Type -testdata/Builtins.lc 236:26-236:52 Type +testdata/Builtins.lc 236:21-236:53 Type testdata/Builtins.lc 236:36-236:45 Type -> PrimitiveType->Type testdata/Builtins.lc 236:36-236:47 PrimitiveType->Type -testdata/Builtins.lc 236:36-236:52 Type +testdata/Builtins.lc 236:36-236:53 Type testdata/Builtins.lc 236:46-236:47 Type -testdata/Builtins.lc 236:48-236:52 PrimitiveType -testdata/Builtins.lc 237:5-237:17 Primitive V6 'Triangle | {a} -> a -> a -> a -> Primitive a 'Triangle -testdata/Builtins.lc 237:5-237:56 Type +testdata/Builtins.lc 236:48-236:53 PrimitiveType +testdata/Builtins.lc 237:5-237:13 Primitive V4 'Line | {a} -> a -> a -> Primitive a 'Line +testdata/Builtins.lc 237:5-237:52 Type testdata/Builtins.lc 237:21-237:22 Type -testdata/Builtins.lc 237:21-237:56 Type +testdata/Builtins.lc 237:21-237:52 Type testdata/Builtins.lc 237:26-237:27 Type -testdata/Builtins.lc 237:26-237:56 Type -testdata/Builtins.lc 237:31-237:32 Type -testdata/Builtins.lc 237:31-237:56 Type +testdata/Builtins.lc 237:26-237:52 Type testdata/Builtins.lc 237:36-237:45 Type -> PrimitiveType->Type testdata/Builtins.lc 237:36-237:47 PrimitiveType->Type -testdata/Builtins.lc 237:36-237:56 Type +testdata/Builtins.lc 237:36-237:52 Type testdata/Builtins.lc 237:46-237:47 Type -testdata/Builtins.lc 237:48-237:56 PrimitiveType -testdata/Builtins.lc 239:1-239:13 {a} -> {b} -> {c:PrimitiveType} -> a->b -> Primitive a c -> Primitive b c -testdata/Builtins.lc 239:17-239:59 Type -testdata/Builtins.lc 239:18-239:19 V5 -testdata/Builtins.lc 239:23-239:24 Type | V4 -testdata/Builtins.lc 239:29-239:38 Type -> PrimitiveType->Type -testdata/Builtins.lc 239:29-239:40 PrimitiveType->Type -testdata/Builtins.lc 239:29-239:42 Type -testdata/Builtins.lc 239:29-239:59 Type -testdata/Builtins.lc 239:39-239:40 Type -testdata/Builtins.lc 239:41-239:42 V2 -testdata/Builtins.lc 239:46-239:55 Type -> PrimitiveType->Type -testdata/Builtins.lc 239:46-239:57 PrimitiveType->Type -testdata/Builtins.lc 239:46-239:59 Type -testdata/Builtins.lc 239:56-239:57 Type -testdata/Builtins.lc 239:58-239:59 PrimitiveType -testdata/Builtins.lc 246:6-246:21 PrimitiveType -> Type->Type -testdata/Builtins.lc 246:29-246:38 Type -> PrimitiveType->Type -testdata/Builtins.lc 246:29-246:40 PrimitiveType->Type -testdata/Builtins.lc 246:29-246:42 Type -testdata/Builtins.lc 246:39-246:40 V1 -testdata/Builtins.lc 246:41-246:42 V2 -testdata/Builtins.lc 248:18-248:72 Type -testdata/Builtins.lc 248:19-248:20 V5 -testdata/Builtins.lc 248:24-248:25 Type | V4 -testdata/Builtins.lc 248:30-248:45 PrimitiveType -> Type->Type -testdata/Builtins.lc 248:30-248:47 Type->Type -testdata/Builtins.lc 248:30-248:49 Type -testdata/Builtins.lc 248:30-248:72 Type -testdata/Builtins.lc 248:46-248:47 V2 -testdata/Builtins.lc 248:48-248:49 Type -testdata/Builtins.lc 248:53-248:68 PrimitiveType -> Type->Type -testdata/Builtins.lc 248:53-248:70 Type->Type -testdata/Builtins.lc 248:53-248:72 Type -testdata/Builtins.lc 248:69-248:70 PrimitiveType -testdata/Builtins.lc 248:71-248:72 Type -testdata/Builtins.lc 249:1-249:14 {a} -> {b} -> {c:PrimitiveType} -> a->b -> List (Primitive a c) -> List (Primitive b c) -testdata/Builtins.lc 249:19-249:22 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 249:19-249:39 List (Primitive V4 V0) -> List (Primitive V4 V1) | V2->V2 -> PrimitiveStream V1 V3 -> PrimitiveStream V2 V3 -testdata/Builtins.lc 249:24-249:36 {a} -> {b} -> {c:PrimitiveType} -> a->b -> Primitive a c -> Primitive b c -testdata/Builtins.lc 249:24-249:38 Primitive V6 V0 -> Primitive V6 V1 -testdata/Builtins.lc 249:37-249:38 V8->V8 -testdata/Builtins.lc 251:30-251:38 Type->Type -testdata/Builtins.lc 251:40-251:41 Type -testdata/Builtins.lc 251:40-251:46 Type->Type -testdata/Builtins.lc 251:45-251:46 Type | Type->Type -testdata/Builtins.lc 256:1-256:12 {a:PrimitiveType} -> {b : List Type} -> {c : List Type} -> {d : b ~ 'map Type Type ListElem c} -> HList c -> PrimitiveStream a (HList b) -testdata/Builtins.lc 256:32-256:119 Type -testdata/Builtins.lc 256:56-256:57 V4 -testdata/Builtins.lc 256:56-256:59 V3->Type -testdata/Builtins.lc 256:56-256:75 Type -testdata/Builtins.lc 256:58-256:59 {a} -> a -> a->Type -testdata/Builtins.lc 256:60-256:63 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 256:60-256:72 List Type -> List Type -testdata/Builtins.lc 256:60-256:75 List Type -testdata/Builtins.lc 256:64-256:72 Type->Type -testdata/Builtins.lc 256:73-256:75 V1 -testdata/Builtins.lc 256:80-256:85 List Type -> Type -testdata/Builtins.lc 256:80-256:88 Type -testdata/Builtins.lc 256:80-256:119 Type -testdata/Builtins.lc 256:86-256:88 List Type -testdata/Builtins.lc 256:92-256:107 PrimitiveType -> Type->Type -testdata/Builtins.lc 256:92-256:109 Type->Type -testdata/Builtins.lc 256:92-256:119 Type -testdata/Builtins.lc 256:108-256:109 V5 -testdata/Builtins.lc 256:111-256:116 List Type -> Type -testdata/Builtins.lc 256:111-256:118 Type -testdata/Builtins.lc 256:117-256:118 List Type -testdata/Builtins.lc 258:1-258:6 {a:PrimitiveType} -> {b} -> String -> b -> PrimitiveStream a b -testdata/Builtins.lc 258:56-258:62 Type -testdata/Builtins.lc 258:56-258:90 Type -testdata/Builtins.lc 258:66-258:67 V2 -testdata/Builtins.lc 258:66-258:90 Type -testdata/Builtins.lc 258:71-258:86 PrimitiveType -> Type->Type -testdata/Builtins.lc 258:71-258:88 Type->Type -testdata/Builtins.lc 258:71-258:90 Type -testdata/Builtins.lc 258:87-258:88 V4 -testdata/Builtins.lc 258:89-258:90 Type -testdata/Builtins.lc 262:6-262:14 Nat -> Type->Type -testdata/Builtins.lc 262:21-262:27 Nat -> Type->Type -testdata/Builtins.lc 262:21-262:29 Type->Type -testdata/Builtins.lc 262:21-262:56 Type -testdata/Builtins.lc 262:28-262:29 V3 -testdata/Builtins.lc 262:31-262:36 Type->Type -testdata/Builtins.lc 262:31-262:55 Type -testdata/Builtins.lc 262:38-262:52 Type->Type -testdata/Builtins.lc 262:38-262:54 Type -testdata/Builtins.lc 262:53-262:54 V1 -testdata/Builtins.lc 264:6-264:20 Type | Type->Type -testdata/Builtins.lc 264:6-264:39 Type -testdata/Builtins.lc 264:6-266:29 Type -testdata/Builtins.lc 264:25-264:39 SimpleFragment V3 | Type | V2 | {a} -> Vec 3 Float -> a -> SimpleFragment a -testdata/Builtins.lc 265:7-265:22 {a} -> SimpleFragment a -> VecS Float 3 -testdata/Builtins.lc 265:28-265:31 Nat -> Type->Type -testdata/Builtins.lc 265:28-265:33 Type->Type -testdata/Builtins.lc 265:28-265:39 Type -testdata/Builtins.lc 265:32-265:33 V1 -testdata/Builtins.lc 265:34-265:39 Type -testdata/Builtins.lc 266:7-266:21 {a} -> SimpleFragment a -> a -testdata/Builtins.lc 266:28-266:29 Type -testdata/Builtins.lc 269:6-269:20 Nat -> Type->Type -testdata/Builtins.lc 269:28-269:36 Nat -> Type->Type -testdata/Builtins.lc 269:28-269:38 Type->Type -testdata/Builtins.lc 269:28-269:40 Type -testdata/Builtins.lc 269:37-269:38 V3 -testdata/Builtins.lc 269:39-269:40 V1 -testdata/Builtins.lc 271:1-271:15 {a} -> {b:Nat} -> a->Float -> Fragment b a -> Fragment b a -testdata/Builtins.lc 271:19-271:63 Type -testdata/Builtins.lc 271:20-271:21 V3 -testdata/Builtins.lc 271:25-271:30 Type -testdata/Builtins.lc 271:35-271:43 Nat -> Type->Type -testdata/Builtins.lc 271:35-271:45 Type->Type -testdata/Builtins.lc 271:35-271:47 Type -testdata/Builtins.lc 271:35-271:63 Type -testdata/Builtins.lc 271:44-271:45 V2 -testdata/Builtins.lc 271:46-271:47 Type -testdata/Builtins.lc 271:51-271:59 Nat -> Type->Type -testdata/Builtins.lc 271:51-271:61 Type->Type -testdata/Builtins.lc 271:51-271:63 Type -testdata/Builtins.lc 271:60-271:61 Nat -testdata/Builtins.lc 271:62-271:63 Type -testdata/Builtins.lc 273:20-273:76 Type -testdata/Builtins.lc 273:21-273:22 V3 -testdata/Builtins.lc 273:26-273:31 Type -testdata/Builtins.lc 273:36-273:50 Nat -> Type->Type -testdata/Builtins.lc 273:36-273:52 Type->Type -testdata/Builtins.lc 273:36-273:54 Type -testdata/Builtins.lc 273:36-273:76 Type -testdata/Builtins.lc 273:51-273:52 V2 -testdata/Builtins.lc 273:53-273:54 Type -testdata/Builtins.lc 273:58-273:72 Nat -> Type->Type -testdata/Builtins.lc 273:58-273:74 Type->Type -testdata/Builtins.lc 273:58-273:76 Type -testdata/Builtins.lc 273:73-273:74 Nat -testdata/Builtins.lc 273:75-273:76 Type -testdata/Builtins.lc 274:1-274:16 {a} -> {b:Nat} -> a->Float -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a))) -testdata/Builtins.lc 274:21-274:24 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 274:21-274:43 List (Vector V0 (Maybe (SimpleFragment V3))) -> List (Vector V1 (Maybe (SimpleFragment V4))) | V1->Float -> FragmentStream V1 V2 -> FragmentStream V2 V3 -testdata/Builtins.lc 274:26-274:40 {a} -> {b:Nat} -> a->Float -> Fragment b a -> Fragment b a -testdata/Builtins.lc 274:26-274:42 Fragment V0 V5 -> Fragment V1 V6 -testdata/Builtins.lc 274:41-274:42 V6->Float -testdata/Builtins.lc 276:1-276:15 {a} -> {b:Nat} -> a->Bool -> Fragment b a -> Fragment b a -testdata/Builtins.lc 276:19-276:62 Type -testdata/Builtins.lc 276:20-276:21 V3 -testdata/Builtins.lc 276:25-276:29 Type -testdata/Builtins.lc 276:34-276:42 Nat -> Type->Type -testdata/Builtins.lc 276:34-276:44 Type->Type -testdata/Builtins.lc 276:34-276:46 Type -testdata/Builtins.lc 276:34-276:62 Type -testdata/Builtins.lc 276:43-276:44 V2 -testdata/Builtins.lc 276:45-276:46 Type -testdata/Builtins.lc 276:50-276:58 Nat -> Type->Type -testdata/Builtins.lc 276:50-276:60 Type->Type -testdata/Builtins.lc 276:50-276:62 Type -testdata/Builtins.lc 276:59-276:60 Nat -testdata/Builtins.lc 276:61-276:62 Type -testdata/Builtins.lc 278:20-278:75 Type -testdata/Builtins.lc 278:21-278:22 V3 -testdata/Builtins.lc 278:26-278:30 Type -testdata/Builtins.lc 278:35-278:49 Nat -> Type->Type -testdata/Builtins.lc 278:35-278:51 Type->Type -testdata/Builtins.lc 278:35-278:53 Type -testdata/Builtins.lc 278:35-278:75 Type -testdata/Builtins.lc 278:50-278:51 V2 -testdata/Builtins.lc 278:52-278:53 Type -testdata/Builtins.lc 278:57-278:71 Nat -> Type->Type -testdata/Builtins.lc 278:57-278:73 Type->Type -testdata/Builtins.lc 278:57-278:75 Type -testdata/Builtins.lc 278:72-278:73 Nat -testdata/Builtins.lc 278:74-278:75 Type -testdata/Builtins.lc 279:1-279:16 {a} -> {b:Nat} -> a->Bool -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a))) -testdata/Builtins.lc 279:21-279:24 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 279:21-279:43 List (Vector V0 (Maybe (SimpleFragment V3))) -> List (Vector V1 (Maybe (SimpleFragment V4))) | V1->Bool -> FragmentStream V1 V2 -> FragmentStream V2 V3 -testdata/Builtins.lc 279:26-279:40 {a} -> {b:Nat} -> a->Bool -> Fragment b a -> Fragment b a -testdata/Builtins.lc 279:26-279:42 Fragment V0 V5 -> Fragment V1 V6 -testdata/Builtins.lc 279:41-279:42 V6->Bool -testdata/Builtins.lc 281:1-281:12 {a} -> {b} -> {c:Nat} -> a->b -> Fragment c a -> Fragment c b -testdata/Builtins.lc 281:16-281:56 Type -testdata/Builtins.lc 281:17-281:18 V5 -testdata/Builtins.lc 281:22-281:23 Type | V4 -testdata/Builtins.lc 281:28-281:36 Nat -> Type->Type -testdata/Builtins.lc 281:28-281:38 Type->Type -testdata/Builtins.lc 281:28-281:40 Type -testdata/Builtins.lc 281:28-281:56 Type -testdata/Builtins.lc 281:37-281:38 V2 -testdata/Builtins.lc 281:39-281:40 Type -testdata/Builtins.lc 281:44-281:52 Nat -> Type->Type -testdata/Builtins.lc 281:44-281:54 Type->Type -testdata/Builtins.lc 281:44-281:56 Type -testdata/Builtins.lc 281:53-281:54 Nat -testdata/Builtins.lc 281:55-281:56 Type -testdata/Builtins.lc 283:17-283:69 Type -testdata/Builtins.lc 283:18-283:19 V5 -testdata/Builtins.lc 283:23-283:24 Type | V4 -testdata/Builtins.lc 283:29-283:43 Nat -> Type->Type -testdata/Builtins.lc 283:29-283:45 Type->Type -testdata/Builtins.lc 283:29-283:47 Type -testdata/Builtins.lc 283:29-283:69 Type -testdata/Builtins.lc 283:44-283:45 V2 -testdata/Builtins.lc 283:46-283:47 Type -testdata/Builtins.lc 283:51-283:65 Nat -> Type->Type -testdata/Builtins.lc 283:51-283:67 Type->Type -testdata/Builtins.lc 283:51-283:69 Type -testdata/Builtins.lc 283:66-283:67 Nat -testdata/Builtins.lc 283:68-283:69 Type -testdata/Builtins.lc 284:1-284:13 {a} -> {b} -> {c:Nat} -> a->b -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b))) -testdata/Builtins.lc 284:18-284:21 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 284:18-284:37 List (Vector V0 (Maybe (SimpleFragment V4))) -> List (Vector V1 (Maybe (SimpleFragment V4))) | V2->V2 -> FragmentStream V1 V3 -> FragmentStream V2 V3 -testdata/Builtins.lc 284:23-284:34 {a} -> {b} -> {c:Nat} -> a->b -> Fragment c a -> Fragment c b -testdata/Builtins.lc 284:23-284:36 Fragment V0 V6 -> Fragment V1 V6 -testdata/Builtins.lc 284:35-284:36 V8->V8 -testdata/Builtins.lc 288:6-288:20 Type -testdata/Builtins.lc 288:6-288:56 Type -testdata/Builtins.lc 288:23-288:28 ImageSemantics | Type | Type->ImageSemantics -testdata/Builtins.lc 288:29-288:33 Type -testdata/Builtins.lc 288:36-288:43 ImageSemantics | Type | Type->ImageSemantics -testdata/Builtins.lc 288:44-288:48 Type -testdata/Builtins.lc 288:51-288:56 ImageSemantics | Type | Type->ImageSemantics -testdata/Builtins.lc 288:57-288:61 Type -testdata/Builtins.lc 290:6-290:11 Nat -> ImageSemantics->Type | Type -testdata/Builtins.lc 290:6-290:43 Type -testdata/Builtins.lc 290:18-290:21 Type -testdata/Builtins.lc 290:29-290:43 Type -testdata/Builtins.lc 292:1-292:11 {a:Nat} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : d ~ VecScalar b c} -> d -> Image a ('Color d) -testdata/Builtins.lc 292:45-293:55 Type -testdata/Builtins.lc 292:46-292:49 Type->Type -testdata/Builtins.lc 292:46-292:51 Type -testdata/Builtins.lc 292:50-292:51 V3 -testdata/Builtins.lc 292:53-292:58 V3 -testdata/Builtins.lc 292:53-292:60 V2->Type -testdata/Builtins.lc 292:53-292:74 Type -testdata/Builtins.lc 292:53-293:55 Type -testdata/Builtins.lc 292:59-292:60 {a} -> a -> a->Type -testdata/Builtins.lc 292:61-292:70 Nat -> Type->Type -testdata/Builtins.lc 292:61-292:72 Type->Type -testdata/Builtins.lc 292:61-292:74 Type -testdata/Builtins.lc 292:71-292:72 V5 -testdata/Builtins.lc 292:73-292:74 Type -testdata/Builtins.lc 293:24-293:29 Type -testdata/Builtins.lc 293:24-293:55 Type -testdata/Builtins.lc 293:34-293:39 Nat -> ImageSemantics->Type -testdata/Builtins.lc 293:34-293:41 ImageSemantics->Type -testdata/Builtins.lc 293:34-293:55 Type -testdata/Builtins.lc 293:40-293:41 V7 -testdata/Builtins.lc 293:43-293:48 Type->ImageSemantics -testdata/Builtins.lc 293:43-293:54 ImageSemantics -testdata/Builtins.lc 293:49-293:54 Type -testdata/Builtins.lc 294:1-294:11 {a:Nat} -> Float -> Image a ('Depth Float) -testdata/Builtins.lc 294:35-294:40 Type -testdata/Builtins.lc 294:35-294:66 Type -testdata/Builtins.lc 294:45-294:50 Nat -> ImageSemantics->Type -testdata/Builtins.lc 294:45-294:52 ImageSemantics->Type -testdata/Builtins.lc 294:45-294:66 Type -testdata/Builtins.lc 294:51-294:52 V2 -testdata/Builtins.lc 294:54-294:59 Type->ImageSemantics -testdata/Builtins.lc 294:54-294:65 ImageSemantics -testdata/Builtins.lc 294:60-294:65 Type -testdata/Builtins.lc 295:1-295:13 {a:Nat} -> Int -> Image a ('Stencil Int) -testdata/Builtins.lc 295:35-295:38 Type +testdata/Builtins.lc 237:48-237:52 PrimitiveType +testdata/Builtins.lc 238:5-238:17 Primitive V6 'Triangle | {a} -> a -> a -> a -> Primitive a 'Triangle +testdata/Builtins.lc 238:5-238:56 Type +testdata/Builtins.lc 238:21-238:22 Type +testdata/Builtins.lc 238:21-238:56 Type +testdata/Builtins.lc 238:26-238:27 Type +testdata/Builtins.lc 238:26-238:56 Type +testdata/Builtins.lc 238:31-238:32 Type +testdata/Builtins.lc 238:31-238:56 Type +testdata/Builtins.lc 238:36-238:45 Type -> PrimitiveType->Type +testdata/Builtins.lc 238:36-238:47 PrimitiveType->Type +testdata/Builtins.lc 238:36-238:56 Type +testdata/Builtins.lc 238:46-238:47 Type +testdata/Builtins.lc 238:48-238:56 PrimitiveType +testdata/Builtins.lc 240:1-240:13 {a} -> {b} -> {c:PrimitiveType} -> a->b -> Primitive a c -> Primitive b c +testdata/Builtins.lc 240:17-240:59 Type +testdata/Builtins.lc 240:18-240:19 V5 +testdata/Builtins.lc 240:23-240:24 Type | V4 +testdata/Builtins.lc 240:29-240:38 Type -> PrimitiveType->Type +testdata/Builtins.lc 240:29-240:40 PrimitiveType->Type +testdata/Builtins.lc 240:29-240:42 Type +testdata/Builtins.lc 240:29-240:59 Type +testdata/Builtins.lc 240:39-240:40 Type +testdata/Builtins.lc 240:41-240:42 V2 +testdata/Builtins.lc 240:46-240:55 Type -> PrimitiveType->Type +testdata/Builtins.lc 240:46-240:57 PrimitiveType->Type +testdata/Builtins.lc 240:46-240:59 Type +testdata/Builtins.lc 240:56-240:57 Type +testdata/Builtins.lc 240:58-240:59 PrimitiveType +testdata/Builtins.lc 247:6-247:21 PrimitiveType -> Type->Type +testdata/Builtins.lc 247:29-247:38 Type -> PrimitiveType->Type +testdata/Builtins.lc 247:29-247:40 PrimitiveType->Type +testdata/Builtins.lc 247:29-247:42 Type +testdata/Builtins.lc 247:39-247:40 V1 +testdata/Builtins.lc 247:41-247:42 V2 +testdata/Builtins.lc 249:18-249:72 Type +testdata/Builtins.lc 249:19-249:20 V5 +testdata/Builtins.lc 249:24-249:25 Type | V4 +testdata/Builtins.lc 249:30-249:45 PrimitiveType -> Type->Type +testdata/Builtins.lc 249:30-249:47 Type->Type +testdata/Builtins.lc 249:30-249:49 Type +testdata/Builtins.lc 249:30-249:72 Type +testdata/Builtins.lc 249:46-249:47 V2 +testdata/Builtins.lc 249:48-249:49 Type +testdata/Builtins.lc 249:53-249:68 PrimitiveType -> Type->Type +testdata/Builtins.lc 249:53-249:70 Type->Type +testdata/Builtins.lc 249:53-249:72 Type +testdata/Builtins.lc 249:69-249:70 PrimitiveType +testdata/Builtins.lc 249:71-249:72 Type +testdata/Builtins.lc 250:1-250:14 {a} -> {b} -> {c:PrimitiveType} -> a->b -> List (Primitive a c) -> List (Primitive b c) +testdata/Builtins.lc 250:19-250:22 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 250:19-250:39 List (Primitive V4 V0) -> List (Primitive V4 V1) | V2->V2 -> PrimitiveStream V1 V3 -> PrimitiveStream V2 V3 +testdata/Builtins.lc 250:24-250:36 {a} -> {b} -> {c:PrimitiveType} -> a->b -> Primitive a c -> Primitive b c +testdata/Builtins.lc 250:24-250:38 Primitive V6 V0 -> Primitive V6 V1 +testdata/Builtins.lc 250:37-250:38 V8->V8 +testdata/Builtins.lc 252:30-252:38 Type->Type +testdata/Builtins.lc 252:40-252:41 Type +testdata/Builtins.lc 252:40-252:46 Type->Type +testdata/Builtins.lc 252:45-252:46 Type | Type->Type +testdata/Builtins.lc 257:1-257:12 {a:PrimitiveType} -> {b : List Type} -> {c : List Type} -> {d : b ~ 'map Type Type ListElem c} -> HList c -> PrimitiveStream a (HList b) +testdata/Builtins.lc 257:32-257:119 Type +testdata/Builtins.lc 257:56-257:57 V4 +testdata/Builtins.lc 257:56-257:59 V3->Type +testdata/Builtins.lc 257:56-257:75 Type +testdata/Builtins.lc 257:58-257:59 {a} -> a -> a->Type +testdata/Builtins.lc 257:60-257:63 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 257:60-257:72 List Type -> List Type +testdata/Builtins.lc 257:60-257:75 List Type +testdata/Builtins.lc 257:64-257:72 Type->Type +testdata/Builtins.lc 257:73-257:75 V1 +testdata/Builtins.lc 257:80-257:85 List Type -> Type +testdata/Builtins.lc 257:80-257:88 Type +testdata/Builtins.lc 257:80-257:119 Type +testdata/Builtins.lc 257:86-257:88 List Type +testdata/Builtins.lc 257:92-257:107 PrimitiveType -> Type->Type +testdata/Builtins.lc 257:92-257:109 Type->Type +testdata/Builtins.lc 257:92-257:119 Type +testdata/Builtins.lc 257:108-257:109 V5 +testdata/Builtins.lc 257:111-257:116 List Type -> Type +testdata/Builtins.lc 257:111-257:118 Type +testdata/Builtins.lc 257:117-257:118 List Type +testdata/Builtins.lc 259:1-259:6 {a:PrimitiveType} -> {b} -> String -> b -> PrimitiveStream a b +testdata/Builtins.lc 259:56-259:62 Type +testdata/Builtins.lc 259:56-259:90 Type +testdata/Builtins.lc 259:66-259:67 V2 +testdata/Builtins.lc 259:66-259:90 Type +testdata/Builtins.lc 259:71-259:86 PrimitiveType -> Type->Type +testdata/Builtins.lc 259:71-259:88 Type->Type +testdata/Builtins.lc 259:71-259:90 Type +testdata/Builtins.lc 259:87-259:88 V4 +testdata/Builtins.lc 259:89-259:90 Type +testdata/Builtins.lc 263:6-263:14 Nat -> Type->Type +testdata/Builtins.lc 263:21-263:27 Nat -> Type->Type +testdata/Builtins.lc 263:21-263:29 Type->Type +testdata/Builtins.lc 263:21-263:56 Type +testdata/Builtins.lc 263:28-263:29 V3 +testdata/Builtins.lc 263:31-263:36 Type->Type +testdata/Builtins.lc 263:31-263:55 Type +testdata/Builtins.lc 263:38-263:52 Type->Type +testdata/Builtins.lc 263:38-263:54 Type +testdata/Builtins.lc 263:53-263:54 V1 +testdata/Builtins.lc 265:6-265:20 Type | Type->Type +testdata/Builtins.lc 265:6-265:39 Type +testdata/Builtins.lc 265:6-267:29 Type +testdata/Builtins.lc 265:25-265:39 SimpleFragment V3 | Type | V2 | {a} -> Vec 3 Float -> a -> SimpleFragment a +testdata/Builtins.lc 266:7-266:22 {a} -> SimpleFragment a -> VecS Float 3 +testdata/Builtins.lc 266:28-266:31 Nat -> Type->Type +testdata/Builtins.lc 266:28-266:33 Type->Type +testdata/Builtins.lc 266:28-266:39 Type +testdata/Builtins.lc 266:32-266:33 V1 +testdata/Builtins.lc 266:34-266:39 Type +testdata/Builtins.lc 267:7-267:21 {a} -> SimpleFragment a -> a +testdata/Builtins.lc 267:28-267:29 Type +testdata/Builtins.lc 270:6-270:20 Nat -> Type->Type +testdata/Builtins.lc 270:28-270:36 Nat -> Type->Type +testdata/Builtins.lc 270:28-270:38 Type->Type +testdata/Builtins.lc 270:28-270:40 Type +testdata/Builtins.lc 270:37-270:38 V3 +testdata/Builtins.lc 270:39-270:40 V1 +testdata/Builtins.lc 272:1-272:15 {a} -> {b:Nat} -> a->Float -> Fragment b a -> Fragment b a +testdata/Builtins.lc 272:19-272:63 Type +testdata/Builtins.lc 272:20-272:21 V3 +testdata/Builtins.lc 272:25-272:30 Type +testdata/Builtins.lc 272:35-272:43 Nat -> Type->Type +testdata/Builtins.lc 272:35-272:45 Type->Type +testdata/Builtins.lc 272:35-272:47 Type +testdata/Builtins.lc 272:35-272:63 Type +testdata/Builtins.lc 272:44-272:45 V2 +testdata/Builtins.lc 272:46-272:47 Type +testdata/Builtins.lc 272:51-272:59 Nat -> Type->Type +testdata/Builtins.lc 272:51-272:61 Type->Type +testdata/Builtins.lc 272:51-272:63 Type +testdata/Builtins.lc 272:60-272:61 Nat +testdata/Builtins.lc 272:62-272:63 Type +testdata/Builtins.lc 274:20-274:76 Type +testdata/Builtins.lc 274:21-274:22 V3 +testdata/Builtins.lc 274:26-274:31 Type +testdata/Builtins.lc 274:36-274:50 Nat -> Type->Type +testdata/Builtins.lc 274:36-274:52 Type->Type +testdata/Builtins.lc 274:36-274:54 Type +testdata/Builtins.lc 274:36-274:76 Type +testdata/Builtins.lc 274:51-274:52 V2 +testdata/Builtins.lc 274:53-274:54 Type +testdata/Builtins.lc 274:58-274:72 Nat -> Type->Type +testdata/Builtins.lc 274:58-274:74 Type->Type +testdata/Builtins.lc 274:58-274:76 Type +testdata/Builtins.lc 274:73-274:74 Nat +testdata/Builtins.lc 274:75-274:76 Type +testdata/Builtins.lc 275:1-275:16 {a} -> {b:Nat} -> a->Float -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a))) +testdata/Builtins.lc 275:21-275:24 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 275:21-275:43 List (Vector V0 (Maybe (SimpleFragment V3))) -> List (Vector V1 (Maybe (SimpleFragment V4))) | V1->Float -> FragmentStream V1 V2 -> FragmentStream V2 V3 +testdata/Builtins.lc 275:26-275:40 {a} -> {b:Nat} -> a->Float -> Fragment b a -> Fragment b a +testdata/Builtins.lc 275:26-275:42 Fragment V0 V5 -> Fragment V1 V6 +testdata/Builtins.lc 275:41-275:42 V6->Float +testdata/Builtins.lc 277:1-277:15 {a} -> {b:Nat} -> a->Bool -> Fragment b a -> Fragment b a +testdata/Builtins.lc 277:19-277:62 Type +testdata/Builtins.lc 277:20-277:21 V3 +testdata/Builtins.lc 277:25-277:29 Type +testdata/Builtins.lc 277:34-277:42 Nat -> Type->Type +testdata/Builtins.lc 277:34-277:44 Type->Type +testdata/Builtins.lc 277:34-277:46 Type +testdata/Builtins.lc 277:34-277:62 Type +testdata/Builtins.lc 277:43-277:44 V2 +testdata/Builtins.lc 277:45-277:46 Type +testdata/Builtins.lc 277:50-277:58 Nat -> Type->Type +testdata/Builtins.lc 277:50-277:60 Type->Type +testdata/Builtins.lc 277:50-277:62 Type +testdata/Builtins.lc 277:59-277:60 Nat +testdata/Builtins.lc 277:61-277:62 Type +testdata/Builtins.lc 279:20-279:75 Type +testdata/Builtins.lc 279:21-279:22 V3 +testdata/Builtins.lc 279:26-279:30 Type +testdata/Builtins.lc 279:35-279:49 Nat -> Type->Type +testdata/Builtins.lc 279:35-279:51 Type->Type +testdata/Builtins.lc 279:35-279:53 Type +testdata/Builtins.lc 279:35-279:75 Type +testdata/Builtins.lc 279:50-279:51 V2 +testdata/Builtins.lc 279:52-279:53 Type +testdata/Builtins.lc 279:57-279:71 Nat -> Type->Type +testdata/Builtins.lc 279:57-279:73 Type->Type +testdata/Builtins.lc 279:57-279:75 Type +testdata/Builtins.lc 279:72-279:73 Nat +testdata/Builtins.lc 279:74-279:75 Type +testdata/Builtins.lc 280:1-280:16 {a} -> {b:Nat} -> a->Bool -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a))) +testdata/Builtins.lc 280:21-280:24 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 280:21-280:43 List (Vector V0 (Maybe (SimpleFragment V3))) -> List (Vector V1 (Maybe (SimpleFragment V4))) | V1->Bool -> FragmentStream V1 V2 -> FragmentStream V2 V3 +testdata/Builtins.lc 280:26-280:40 {a} -> {b:Nat} -> a->Bool -> Fragment b a -> Fragment b a +testdata/Builtins.lc 280:26-280:42 Fragment V0 V5 -> Fragment V1 V6 +testdata/Builtins.lc 280:41-280:42 V6->Bool +testdata/Builtins.lc 282:1-282:12 {a} -> {b} -> {c:Nat} -> a->b -> Fragment c a -> Fragment c b +testdata/Builtins.lc 282:16-282:56 Type +testdata/Builtins.lc 282:17-282:18 V5 +testdata/Builtins.lc 282:22-282:23 Type | V4 +testdata/Builtins.lc 282:28-282:36 Nat -> Type->Type +testdata/Builtins.lc 282:28-282:38 Type->Type +testdata/Builtins.lc 282:28-282:40 Type +testdata/Builtins.lc 282:28-282:56 Type +testdata/Builtins.lc 282:37-282:38 V2 +testdata/Builtins.lc 282:39-282:40 Type +testdata/Builtins.lc 282:44-282:52 Nat -> Type->Type +testdata/Builtins.lc 282:44-282:54 Type->Type +testdata/Builtins.lc 282:44-282:56 Type +testdata/Builtins.lc 282:53-282:54 Nat +testdata/Builtins.lc 282:55-282:56 Type +testdata/Builtins.lc 284:17-284:69 Type +testdata/Builtins.lc 284:18-284:19 V5 +testdata/Builtins.lc 284:23-284:24 Type | V4 +testdata/Builtins.lc 284:29-284:43 Nat -> Type->Type +testdata/Builtins.lc 284:29-284:45 Type->Type +testdata/Builtins.lc 284:29-284:47 Type +testdata/Builtins.lc 284:29-284:69 Type +testdata/Builtins.lc 284:44-284:45 V2 +testdata/Builtins.lc 284:46-284:47 Type +testdata/Builtins.lc 284:51-284:65 Nat -> Type->Type +testdata/Builtins.lc 284:51-284:67 Type->Type +testdata/Builtins.lc 284:51-284:69 Type +testdata/Builtins.lc 284:66-284:67 Nat +testdata/Builtins.lc 284:68-284:69 Type +testdata/Builtins.lc 285:1-285:13 {a} -> {b} -> {c:Nat} -> a->b -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b))) +testdata/Builtins.lc 285:18-285:21 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 285:18-285:37 List (Vector V0 (Maybe (SimpleFragment V4))) -> List (Vector V1 (Maybe (SimpleFragment V4))) | V2->V2 -> FragmentStream V1 V3 -> FragmentStream V2 V3 +testdata/Builtins.lc 285:23-285:34 {a} -> {b} -> {c:Nat} -> a->b -> Fragment c a -> Fragment c b +testdata/Builtins.lc 285:23-285:36 Fragment V0 V6 -> Fragment V1 V6 +testdata/Builtins.lc 285:35-285:36 V8->V8 +testdata/Builtins.lc 289:6-289:20 Type +testdata/Builtins.lc 289:6-289:56 Type +testdata/Builtins.lc 289:23-289:28 ImageSemantics | Type | Type->ImageSemantics +testdata/Builtins.lc 289:29-289:33 Type +testdata/Builtins.lc 289:36-289:43 ImageSemantics | Type | Type->ImageSemantics +testdata/Builtins.lc 289:44-289:48 Type +testdata/Builtins.lc 289:51-289:56 ImageSemantics | Type | Type->ImageSemantics +testdata/Builtins.lc 289:57-289:61 Type +testdata/Builtins.lc 291:6-291:11 Nat -> ImageSemantics->Type | Type +testdata/Builtins.lc 291:6-291:43 Type +testdata/Builtins.lc 291:18-291:21 Type +testdata/Builtins.lc 291:29-291:43 Type +testdata/Builtins.lc 293:1-293:11 {a:Nat} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : d ~ VecScalar b c} -> d -> Image a ('Color d) +testdata/Builtins.lc 293:45-294:55 Type +testdata/Builtins.lc 293:46-293:49 Type->Type +testdata/Builtins.lc 293:46-293:51 Type +testdata/Builtins.lc 293:50-293:51 V3 +testdata/Builtins.lc 293:53-293:58 V3 +testdata/Builtins.lc 293:53-293:60 V2->Type +testdata/Builtins.lc 293:53-293:74 Type +testdata/Builtins.lc 293:53-294:55 Type +testdata/Builtins.lc 293:59-293:60 {a} -> a -> a->Type +testdata/Builtins.lc 293:61-293:70 Nat -> Type->Type +testdata/Builtins.lc 293:61-293:72 Type->Type +testdata/Builtins.lc 293:61-293:74 Type +testdata/Builtins.lc 293:71-293:72 V5 +testdata/Builtins.lc 293:73-293:74 Type +testdata/Builtins.lc 294:24-294:29 Type +testdata/Builtins.lc 294:24-294:55 Type +testdata/Builtins.lc 294:34-294:39 Nat -> ImageSemantics->Type +testdata/Builtins.lc 294:34-294:41 ImageSemantics->Type +testdata/Builtins.lc 294:34-294:55 Type +testdata/Builtins.lc 294:40-294:41 V7 +testdata/Builtins.lc 294:43-294:48 Type->ImageSemantics +testdata/Builtins.lc 294:43-294:54 ImageSemantics +testdata/Builtins.lc 294:49-294:54 Type +testdata/Builtins.lc 295:1-295:11 {a:Nat} -> Float -> Image a ('Depth Float) +testdata/Builtins.lc 295:35-295:40 Type testdata/Builtins.lc 295:35-295:66 Type testdata/Builtins.lc 295:45-295:50 Nat -> ImageSemantics->Type testdata/Builtins.lc 295:45-295:52 ImageSemantics->Type testdata/Builtins.lc 295:45-295:66 Type testdata/Builtins.lc 295:51-295:52 V2 -testdata/Builtins.lc 295:54-295:61 Type->ImageSemantics +testdata/Builtins.lc 295:54-295:59 Type->ImageSemantics testdata/Builtins.lc 295:54-295:65 ImageSemantics -testdata/Builtins.lc 295:62-295:65 Type -testdata/Builtins.lc 297:1-297:16 Float -> Image 1 ('Depth Float) -testdata/Builtins.lc 297:19-297:29 {a:Nat} -> Float -> Image a ('Depth Float) -testdata/Builtins.lc 297:19-297:32 Float -> Image 1 ('Depth Float) -testdata/Builtins.lc 297:31-297:32 V1 -testdata/Builtins.lc 298:1-298:16 {a:Nat} -> {b} -> {c} -> {d : Num b} -> {e : c ~ VecScalar a b} -> c -> Image 1 ('Color c) -testdata/Builtins.lc 298:19-298:29 {a:Nat} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : d ~ VecScalar b c} -> d -> Image a ('Color d) -testdata/Builtins.lc 298:19-298:32 {a:Nat} -> {b} -> {c} -> {d : Num b} -> {e : c ~ VecScalar a b} -> c -> Image 1 ('Color c) +testdata/Builtins.lc 295:60-295:65 Type +testdata/Builtins.lc 296:1-296:13 {a:Nat} -> Int -> Image a ('Stencil Int) +testdata/Builtins.lc 296:35-296:38 Type +testdata/Builtins.lc 296:35-296:66 Type +testdata/Builtins.lc 296:45-296:50 Nat -> ImageSemantics->Type +testdata/Builtins.lc 296:45-296:52 ImageSemantics->Type +testdata/Builtins.lc 296:45-296:66 Type +testdata/Builtins.lc 296:51-296:52 V2 +testdata/Builtins.lc 296:54-296:61 Type->ImageSemantics +testdata/Builtins.lc 296:54-296:65 ImageSemantics +testdata/Builtins.lc 296:62-296:65 Type +testdata/Builtins.lc 298:1-298:16 Float -> Image 1 ('Depth Float) +testdata/Builtins.lc 298:19-298:29 {a:Nat} -> Float -> Image a ('Depth Float) +testdata/Builtins.lc 298:19-298:32 Float -> Image 1 ('Depth Float) testdata/Builtins.lc 298:31-298:32 V1 -testdata/Builtins.lc 305:6-305:11 Type -testdata/Builtins.lc 305:6-305:31 Type -testdata/Builtins.lc 305:14-305:16 Swizz -testdata/Builtins.lc 305:19-305:21 Swizz -testdata/Builtins.lc 305:24-305:26 Swizz -testdata/Builtins.lc 305:29-305:31 Swizz -testdata/Builtins.lc 323:16-323:48 Type -testdata/Builtins.lc 323:27-323:30 Nat -> Type->Type -testdata/Builtins.lc 323:27-323:32 Type->Type -testdata/Builtins.lc 323:27-323:34 Type -testdata/Builtins.lc 323:27-323:48 Type -testdata/Builtins.lc 323:31-323:32 V1 -testdata/Builtins.lc 323:33-323:34 V2 -testdata/Builtins.lc 323:38-323:43 Type -testdata/Builtins.lc 323:38-323:48 Type -testdata/Builtins.lc 323:47-323:48 Type -testdata/Builtins.lc 324:1-324:12 {a} -> {b:Nat} -> Vec b a -> Swizz->a -testdata/Builtins.lc 324:14-324:16 Vec V4 V5 -testdata/Builtins.lc 324:14-332:32 Swizz->V3 | V3 | Vec V0 V1 -> Swizz->V3 -testdata/Builtins.lc 324:22-324:24 Swizz -testdata/Builtins.lc 324:22-325:28 V1 -> V2->V2 | V2 | V2->V2 -testdata/Builtins.lc 324:22-328:30 (V0 -> V1 -> V2 -> V3->V4) -> {f:Nat} -> VecS V2 f -> V3 -testdata/Builtins.lc 324:22-332:32 {a:Nat} -> VecS V1 a -> V2 -testdata/Builtins.lc 324:27-324:28 V4 -testdata/Builtins.lc 324:27-325:28 V3 -> V4 -> Swizz->V6 -testdata/Builtins.lc 325:27-325:28 V3 -testdata/Builtins.lc 326:24-326:26 Swizz -testdata/Builtins.lc 326:24-328:30 V0 -> V1 -> V2->V3 | V1 -> V2->V3 | V2->V3 | V3 -testdata/Builtins.lc 326:29-326:30 V4 -testdata/Builtins.lc 326:29-327:30 V3 -> V4 -> Swizz->V6 -testdata/Builtins.lc 326:29-328:30 V3 -> Swizz->V5 -testdata/Builtins.lc 327:29-327:30 V3 +testdata/Builtins.lc 299:1-299:16 {a:Nat} -> {b} -> {c} -> {d : Num b} -> {e : c ~ VecScalar a b} -> c -> Image 1 ('Color c) +testdata/Builtins.lc 299:19-299:29 {a:Nat} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : d ~ VecScalar b c} -> d -> Image a ('Color d) +testdata/Builtins.lc 299:19-299:32 {a:Nat} -> {b} -> {c} -> {d : Num b} -> {e : c ~ VecScalar a b} -> c -> Image 1 ('Color c) +testdata/Builtins.lc 299:31-299:32 V1 +testdata/Builtins.lc 306:6-306:11 Type +testdata/Builtins.lc 306:6-306:31 Type +testdata/Builtins.lc 306:14-306:16 Swizz +testdata/Builtins.lc 306:19-306:21 Swizz +testdata/Builtins.lc 306:24-306:26 Swizz +testdata/Builtins.lc 306:29-306:31 Swizz +testdata/Builtins.lc 324:16-324:48 Type +testdata/Builtins.lc 324:27-324:30 Nat -> Type->Type +testdata/Builtins.lc 324:27-324:32 Type->Type +testdata/Builtins.lc 324:27-324:34 Type +testdata/Builtins.lc 324:27-324:48 Type +testdata/Builtins.lc 324:31-324:32 V1 +testdata/Builtins.lc 324:33-324:34 V2 +testdata/Builtins.lc 324:38-324:43 Type +testdata/Builtins.lc 324:38-324:48 Type +testdata/Builtins.lc 324:47-324:48 Type +testdata/Builtins.lc 325:1-325:12 {a} -> {b:Nat} -> Vec b a -> Swizz->a +testdata/Builtins.lc 325:14-325:16 Vec V4 V5 +testdata/Builtins.lc 325:14-333:32 Swizz->V3 | V3 | Vec V0 V1 -> Swizz->V3 +testdata/Builtins.lc 325:22-325:24 Swizz +testdata/Builtins.lc 325:22-326:28 V1 -> V2->V2 | V2 | V2->V2 +testdata/Builtins.lc 325:22-329:30 (V0 -> V1 -> V2 -> V3->V4) -> {f:Nat} -> VecS V2 f -> V3 +testdata/Builtins.lc 325:22-333:32 {a:Nat} -> VecS V1 a -> V2 +testdata/Builtins.lc 325:27-325:28 V4 +testdata/Builtins.lc 325:27-326:28 V3 -> V4 -> Swizz->V6 +testdata/Builtins.lc 326:27-326:28 V3 +testdata/Builtins.lc 327:24-327:26 Swizz +testdata/Builtins.lc 327:24-329:30 V0 -> V1 -> V2->V3 | V1 -> V2->V3 | V2->V3 | V3 +testdata/Builtins.lc 327:29-327:30 V4 +testdata/Builtins.lc 327:29-328:30 V3 -> V4 -> Swizz->V6 +testdata/Builtins.lc 327:29-329:30 V3 -> Swizz->V5 testdata/Builtins.lc 328:29-328:30 V3 -testdata/Builtins.lc 329:26-329:28 Swizz -testdata/Builtins.lc 329:26-332:32 V0 -> V1 -> V2 -> V3->V4 | V1 -> V2 -> V3->V4 | V2 -> V3->V4 | V3->V4 | V4 -testdata/Builtins.lc 329:31-329:32 V5 -testdata/Builtins.lc 329:31-330:32 V4 -> V5 -> Swizz->V7 -testdata/Builtins.lc 329:31-331:32 V4 -> Swizz->V6 -testdata/Builtins.lc 329:31-332:32 Swizz->V5 -testdata/Builtins.lc 330:31-330:32 V4 +testdata/Builtins.lc 329:29-329:30 V3 +testdata/Builtins.lc 330:26-330:28 Swizz +testdata/Builtins.lc 330:26-333:32 V0 -> V1 -> V2 -> V3->V4 | V1 -> V2 -> V3->V4 | V2 -> V3->V4 | V3->V4 | V4 +testdata/Builtins.lc 330:31-330:32 V5 +testdata/Builtins.lc 330:31-331:32 V4 -> V5 -> Swizz->V7 +testdata/Builtins.lc 330:31-332:32 V4 -> Swizz->V6 +testdata/Builtins.lc 330:31-333:32 Swizz->V5 testdata/Builtins.lc 331:31-331:32 V4 testdata/Builtins.lc 332:31-332:32 V4 -testdata/Builtins.lc 335:28-335:31 Nat -> Type->Type -testdata/Builtins.lc 335:28-335:33 Type->Type -testdata/Builtins.lc 335:28-335:35 Type -testdata/Builtins.lc 335:28-335:43 Type -testdata/Builtins.lc 335:32-335:33 V1 -testdata/Builtins.lc 335:34-335:35 V2 -testdata/Builtins.lc 335:39-335:43 Type -testdata/Builtins.lc 336:1-336:11 {a} -> {b:Nat} -> Vec b a -> Bool -testdata/Builtins.lc 336:13-336:15 Vec V3 V4 -testdata/Builtins.lc 336:13-338:31 Bool | Vec V0 V1 -> Bool -testdata/Builtins.lc 336:23-336:27 Bool | V1 -> V2->V2 | V2->V2 -testdata/Builtins.lc 336:23-337:29 (V0 -> V1 -> V2 -> V3->Bool) -> {f:Nat} -> VecS V2 f -> Bool -testdata/Builtins.lc 336:23-338:31 {a:Nat} -> VecS V1 a -> Bool -testdata/Builtins.lc 337:25-337:29 Bool | V0 -> V1 -> V2->Bool | V1 -> V2->Bool | V2->Bool -testdata/Builtins.lc 338:27-338:31 Bool | V0 -> V1 -> V2 -> V3->Bool | V1 -> V2 -> V3->Bool | V2 -> V3->Bool | V3->Bool -testdata/Builtins.lc 340:16-340:71 Type -testdata/Builtins.lc 340:27-340:71 Type -testdata/Builtins.lc 340:38-340:41 Nat -> Type->Type -testdata/Builtins.lc 340:38-340:43 Type->Type -testdata/Builtins.lc 340:38-340:45 Type -testdata/Builtins.lc 340:38-340:71 Type -testdata/Builtins.lc 340:42-340:43 V3 -testdata/Builtins.lc 340:44-340:45 V4 -testdata/Builtins.lc 340:49-340:52 Nat -> Type->Type -testdata/Builtins.lc 340:49-340:54 Type->Type -testdata/Builtins.lc 340:49-340:60 Type -testdata/Builtins.lc 340:49-340:71 Type -testdata/Builtins.lc 340:53-340:54 V2 -testdata/Builtins.lc 340:55-340:60 Type -testdata/Builtins.lc 340:64-340:67 Nat -> Type->Type -testdata/Builtins.lc 340:64-340:69 Type->Type -testdata/Builtins.lc 340:64-340:71 Type -testdata/Builtins.lc 340:68-340:69 Nat -testdata/Builtins.lc 340:70-340:71 Type -testdata/Builtins.lc 341:1-341:12 {a} -> {b:Nat} -> {c:Nat} -> Vec b a -> Vec c Swizz -> VecS a c -testdata/Builtins.lc 341:19-341:29 {a} -> {b:Nat} -> Vec b a -> Bool -testdata/Builtins.lc 341:19-341:31 Bool -testdata/Builtins.lc 341:19-341:58 Vec V1 Swizz -> Vec V2 V4 | Vec V1 V2 -> Vec V1 Swizz -> Vec V2 V4 | VecS V4 V2 -testdata/Builtins.lc 341:30-341:31 Vec V5 V6 -testdata/Builtins.lc 341:34-341:40 {a} -> {b} -> {c:Nat} -> a->b -> VecS a c -> VecS b c -testdata/Builtins.lc 341:34-341:56 VecS Swizz V0 -> VecS V7 V1 -testdata/Builtins.lc 341:34-341:58 VecS V4 V2 -testdata/Builtins.lc 341:42-341:53 {a} -> {b:Nat} -> Vec b a -> Swizz->a -testdata/Builtins.lc 341:42-341:55 Swizz->V9 -testdata/Builtins.lc 341:54-341:55 Vec V9 V10 -testdata/Builtins.lc 341:57-341:58 Vec V3 Swizz -testdata/Builtins.lc 345:6-345:20 Type -testdata/Builtins.lc 345:6-360:23 Type -testdata/Builtins.lc 346:7-346:12 BlendingFactor -testdata/Builtins.lc 347:7-347:10 BlendingFactor -testdata/Builtins.lc 348:7-348:15 BlendingFactor -testdata/Builtins.lc 349:7-349:23 BlendingFactor -testdata/Builtins.lc 350:7-350:15 BlendingFactor -testdata/Builtins.lc 351:7-351:23 BlendingFactor -testdata/Builtins.lc 352:7-352:15 BlendingFactor -testdata/Builtins.lc 353:7-353:23 BlendingFactor -testdata/Builtins.lc 354:7-354:15 BlendingFactor -testdata/Builtins.lc 355:7-355:23 BlendingFactor -testdata/Builtins.lc 356:7-356:20 BlendingFactor -testdata/Builtins.lc 357:7-357:28 BlendingFactor -testdata/Builtins.lc 358:7-358:20 BlendingFactor -testdata/Builtins.lc 359:7-359:28 BlendingFactor -testdata/Builtins.lc 360:7-360:23 BlendingFactor -testdata/Builtins.lc 362:6-362:19 Type -testdata/Builtins.lc 362:6-367:10 Type -testdata/Builtins.lc 363:7-363:14 BlendEquation -testdata/Builtins.lc 364:7-364:19 BlendEquation -testdata/Builtins.lc 365:7-365:26 BlendEquation -testdata/Builtins.lc 366:7-366:10 BlendEquation +testdata/Builtins.lc 333:31-333:32 V4 +testdata/Builtins.lc 336:28-336:31 Nat -> Type->Type +testdata/Builtins.lc 336:28-336:33 Type->Type +testdata/Builtins.lc 336:28-336:35 Type +testdata/Builtins.lc 336:28-336:43 Type +testdata/Builtins.lc 336:32-336:33 V1 +testdata/Builtins.lc 336:34-336:35 V2 +testdata/Builtins.lc 336:39-336:43 Type +testdata/Builtins.lc 337:1-337:11 {a} -> {b:Nat} -> Vec b a -> Bool +testdata/Builtins.lc 337:13-337:15 Vec V3 V4 +testdata/Builtins.lc 337:13-339:31 Bool | Vec V0 V1 -> Bool +testdata/Builtins.lc 337:23-337:27 Bool | V1 -> V2->V2 | V2->V2 +testdata/Builtins.lc 337:23-338:29 (V0 -> V1 -> V2 -> V3->Bool) -> {f:Nat} -> VecS V2 f -> Bool +testdata/Builtins.lc 337:23-339:31 {a:Nat} -> VecS V1 a -> Bool +testdata/Builtins.lc 338:25-338:29 Bool | V0 -> V1 -> V2->Bool | V1 -> V2->Bool | V2->Bool +testdata/Builtins.lc 339:27-339:31 Bool | V0 -> V1 -> V2 -> V3->Bool | V1 -> V2 -> V3->Bool | V2 -> V3->Bool | V3->Bool +testdata/Builtins.lc 341:16-341:71 Type +testdata/Builtins.lc 341:27-341:71 Type +testdata/Builtins.lc 341:38-341:41 Nat -> Type->Type +testdata/Builtins.lc 341:38-341:43 Type->Type +testdata/Builtins.lc 341:38-341:45 Type +testdata/Builtins.lc 341:38-341:71 Type +testdata/Builtins.lc 341:42-341:43 V3 +testdata/Builtins.lc 341:44-341:45 V4 +testdata/Builtins.lc 341:49-341:52 Nat -> Type->Type +testdata/Builtins.lc 341:49-341:54 Type->Type +testdata/Builtins.lc 341:49-341:60 Type +testdata/Builtins.lc 341:49-341:71 Type +testdata/Builtins.lc 341:53-341:54 V2 +testdata/Builtins.lc 341:55-341:60 Type +testdata/Builtins.lc 341:64-341:67 Nat -> Type->Type +testdata/Builtins.lc 341:64-341:69 Type->Type +testdata/Builtins.lc 341:64-341:71 Type +testdata/Builtins.lc 341:68-341:69 Nat +testdata/Builtins.lc 341:70-341:71 Type +testdata/Builtins.lc 342:1-342:12 {a} -> {b:Nat} -> {c:Nat} -> Vec b a -> Vec c Swizz -> VecS a c +testdata/Builtins.lc 342:19-342:29 {a} -> {b:Nat} -> Vec b a -> Bool +testdata/Builtins.lc 342:19-342:31 Bool +testdata/Builtins.lc 342:19-342:58 Vec V1 Swizz -> Vec V2 V4 | Vec V1 V2 -> Vec V1 Swizz -> Vec V2 V4 | VecS V4 V2 +testdata/Builtins.lc 342:30-342:31 Vec V5 V6 +testdata/Builtins.lc 342:34-342:40 {a} -> {b} -> {c:Nat} -> a->b -> VecS a c -> VecS b c +testdata/Builtins.lc 342:34-342:56 VecS Swizz V0 -> VecS V7 V1 +testdata/Builtins.lc 342:34-342:58 VecS V4 V2 +testdata/Builtins.lc 342:42-342:53 {a} -> {b:Nat} -> Vec b a -> Swizz->a +testdata/Builtins.lc 342:42-342:55 Swizz->V9 +testdata/Builtins.lc 342:54-342:55 Vec V9 V10 +testdata/Builtins.lc 342:57-342:58 Vec V3 Swizz +testdata/Builtins.lc 346:6-346:20 Type +testdata/Builtins.lc 346:6-361:23 Type +testdata/Builtins.lc 347:7-347:12 BlendingFactor +testdata/Builtins.lc 348:7-348:10 BlendingFactor +testdata/Builtins.lc 349:7-349:15 BlendingFactor +testdata/Builtins.lc 350:7-350:23 BlendingFactor +testdata/Builtins.lc 351:7-351:15 BlendingFactor +testdata/Builtins.lc 352:7-352:23 BlendingFactor +testdata/Builtins.lc 353:7-353:15 BlendingFactor +testdata/Builtins.lc 354:7-354:23 BlendingFactor +testdata/Builtins.lc 355:7-355:15 BlendingFactor +testdata/Builtins.lc 356:7-356:23 BlendingFactor +testdata/Builtins.lc 357:7-357:20 BlendingFactor +testdata/Builtins.lc 358:7-358:28 BlendingFactor +testdata/Builtins.lc 359:7-359:20 BlendingFactor +testdata/Builtins.lc 360:7-360:28 BlendingFactor +testdata/Builtins.lc 361:7-361:23 BlendingFactor +testdata/Builtins.lc 363:6-363:19 Type +testdata/Builtins.lc 363:6-368:10 Type +testdata/Builtins.lc 364:7-364:14 BlendEquation +testdata/Builtins.lc 365:7-365:19 BlendEquation +testdata/Builtins.lc 366:7-366:26 BlendEquation testdata/Builtins.lc 367:7-367:10 BlendEquation -testdata/Builtins.lc 369:6-369:20 Type -testdata/Builtins.lc 369:6-385:10 Type -testdata/Builtins.lc 370:7-370:12 LogicOperation -testdata/Builtins.lc 371:7-371:10 LogicOperation -testdata/Builtins.lc 372:7-372:17 LogicOperation -testdata/Builtins.lc 373:7-373:11 LogicOperation -testdata/Builtins.lc 374:7-374:18 LogicOperation -testdata/Builtins.lc 375:7-375:11 LogicOperation -testdata/Builtins.lc 376:7-376:10 LogicOperation -testdata/Builtins.lc 377:7-377:9 LogicOperation -testdata/Builtins.lc 378:7-378:10 LogicOperation -testdata/Builtins.lc 379:7-379:12 LogicOperation -testdata/Builtins.lc 380:7-380:13 LogicOperation -testdata/Builtins.lc 381:7-381:16 LogicOperation -testdata/Builtins.lc 382:7-382:19 LogicOperation -testdata/Builtins.lc 383:7-383:17 LogicOperation -testdata/Builtins.lc 384:7-384:11 LogicOperation -testdata/Builtins.lc 385:7-385:10 LogicOperation -testdata/Builtins.lc 387:6-387:22 Type -testdata/Builtins.lc 387:6-395:15 Type -testdata/Builtins.lc 388:7-388:13 StencilOperation +testdata/Builtins.lc 368:7-368:10 BlendEquation +testdata/Builtins.lc 370:6-370:20 Type +testdata/Builtins.lc 370:6-386:10 Type +testdata/Builtins.lc 371:7-371:12 LogicOperation +testdata/Builtins.lc 372:7-372:10 LogicOperation +testdata/Builtins.lc 373:7-373:17 LogicOperation +testdata/Builtins.lc 374:7-374:11 LogicOperation +testdata/Builtins.lc 375:7-375:18 LogicOperation +testdata/Builtins.lc 376:7-376:11 LogicOperation +testdata/Builtins.lc 377:7-377:10 LogicOperation +testdata/Builtins.lc 378:7-378:9 LogicOperation +testdata/Builtins.lc 379:7-379:10 LogicOperation +testdata/Builtins.lc 380:7-380:12 LogicOperation +testdata/Builtins.lc 381:7-381:13 LogicOperation +testdata/Builtins.lc 382:7-382:16 LogicOperation +testdata/Builtins.lc 383:7-383:19 LogicOperation +testdata/Builtins.lc 384:7-384:17 LogicOperation +testdata/Builtins.lc 385:7-385:11 LogicOperation +testdata/Builtins.lc 386:7-386:10 LogicOperation +testdata/Builtins.lc 388:6-388:22 Type +testdata/Builtins.lc 388:6-396:15 Type testdata/Builtins.lc 389:7-389:13 StencilOperation -testdata/Builtins.lc 390:7-390:16 StencilOperation -testdata/Builtins.lc 391:7-391:13 StencilOperation -testdata/Builtins.lc 392:7-392:17 StencilOperation -testdata/Builtins.lc 393:7-393:13 StencilOperation -testdata/Builtins.lc 394:7-394:17 StencilOperation -testdata/Builtins.lc 395:7-395:15 StencilOperation -testdata/Builtins.lc 397:6-397:24 Type -testdata/Builtins.lc 397:6-405:13 Type -testdata/Builtins.lc 398:7-398:12 ComparisonFunction -testdata/Builtins.lc 399:7-399:11 ComparisonFunction -testdata/Builtins.lc 400:7-400:12 ComparisonFunction -testdata/Builtins.lc 401:7-401:13 ComparisonFunction -testdata/Builtins.lc 402:7-402:14 ComparisonFunction -testdata/Builtins.lc 403:7-403:15 ComparisonFunction -testdata/Builtins.lc 404:7-404:13 ComparisonFunction +testdata/Builtins.lc 390:7-390:13 StencilOperation +testdata/Builtins.lc 391:7-391:16 StencilOperation +testdata/Builtins.lc 392:7-392:13 StencilOperation +testdata/Builtins.lc 393:7-393:17 StencilOperation +testdata/Builtins.lc 394:7-394:13 StencilOperation +testdata/Builtins.lc 395:7-395:17 StencilOperation +testdata/Builtins.lc 396:7-396:15 StencilOperation +testdata/Builtins.lc 398:6-398:24 Type +testdata/Builtins.lc 398:6-406:13 Type +testdata/Builtins.lc 399:7-399:12 ComparisonFunction +testdata/Builtins.lc 400:7-400:11 ComparisonFunction +testdata/Builtins.lc 401:7-401:12 ComparisonFunction +testdata/Builtins.lc 402:7-402:13 ComparisonFunction +testdata/Builtins.lc 403:7-403:14 ComparisonFunction +testdata/Builtins.lc 404:7-404:15 ComparisonFunction testdata/Builtins.lc 405:7-405:13 ComparisonFunction -testdata/Builtins.lc 407:6-407:21 Type -testdata/Builtins.lc 407:6-409:18 Type -testdata/Builtins.lc 408:7-408:17 ProvokingVertex -testdata/Builtins.lc 409:7-409:18 ProvokingVertex -testdata/Builtins.lc 411:6-411:14 Type -testdata/Builtins.lc 411:6-414:15 Type -testdata/Builtins.lc 412:7-412:16 CullMode -testdata/Builtins.lc 413:7-413:15 CullMode +testdata/Builtins.lc 406:7-406:13 ComparisonFunction +testdata/Builtins.lc 408:6-408:21 Type +testdata/Builtins.lc 408:6-410:18 Type +testdata/Builtins.lc 409:7-409:17 ProvokingVertex +testdata/Builtins.lc 410:7-410:18 ProvokingVertex +testdata/Builtins.lc 412:6-412:14 Type +testdata/Builtins.lc 412:6-415:15 Type +testdata/Builtins.lc 413:7-413:16 CullMode testdata/Builtins.lc 414:7-414:15 CullMode -testdata/Builtins.lc 416:6-416:15 Type | Type->Type -testdata/Builtins.lc 416:6-417:22 Type -testdata/Builtins.lc 416:6-418:23 Type -testdata/Builtins.lc 416:6-418:36 Type -testdata/Builtins.lc 417:7-417:16 PointSize V2 | Type | {a} -> Float -> PointSize a -testdata/Builtins.lc 417:17-417:22 Type -testdata/Builtins.lc 418:7-418:23 PointSize V3 | Type | {a} -> a->Float -> PointSize a -testdata/Builtins.lc 418:25-418:26 Type -testdata/Builtins.lc 418:30-418:35 Type -testdata/Builtins.lc 420:6-420:17 Type | Type->Type -testdata/Builtins.lc 420:6-422:33 Type -testdata/Builtins.lc 420:6-423:18 Type -testdata/Builtins.lc 420:6-423:24 Type -testdata/Builtins.lc 421:7-421:18 PolygonMode V1 | {a} -> PolygonMode a -testdata/Builtins.lc 422:7-422:19 PolygonMode V3 | Type | {a} -> PointSize a -> PolygonMode a -testdata/Builtins.lc 422:21-422:30 Type->Type -testdata/Builtins.lc 422:21-422:32 Type -testdata/Builtins.lc 422:31-422:32 Type -testdata/Builtins.lc 423:7-423:18 PolygonMode V4 | Type | {a} -> Float -> PolygonMode a -testdata/Builtins.lc 423:19-423:24 Type -testdata/Builtins.lc 425:6-425:19 Type -testdata/Builtins.lc 425:6-427:13 Type -testdata/Builtins.lc 425:6-427:25 Type -testdata/Builtins.lc 426:7-426:15 PolygonOffset -testdata/Builtins.lc 427:7-427:13 Float -> Float->PolygonOffset | PolygonOffset | Type -testdata/Builtins.lc 427:14-427:19 Type -testdata/Builtins.lc 427:20-427:25 Type -testdata/Builtins.lc 429:6-429:28 Type -testdata/Builtins.lc 429:6-431:16 Type -testdata/Builtins.lc 430:7-430:16 PointSpriteCoordOrigin +testdata/Builtins.lc 415:7-415:15 CullMode +testdata/Builtins.lc 417:6-417:15 Type | Type->Type +testdata/Builtins.lc 417:6-418:22 Type +testdata/Builtins.lc 417:6-419:23 Type +testdata/Builtins.lc 417:6-419:36 Type +testdata/Builtins.lc 418:7-418:16 PointSize V2 | Type | {a} -> Float -> PointSize a +testdata/Builtins.lc 418:17-418:22 Type +testdata/Builtins.lc 419:7-419:23 PointSize V3 | Type | {a} -> a->Float -> PointSize a +testdata/Builtins.lc 419:25-419:26 Type +testdata/Builtins.lc 419:30-419:35 Type +testdata/Builtins.lc 421:6-421:17 Type | Type->Type +testdata/Builtins.lc 421:6-423:33 Type +testdata/Builtins.lc 421:6-424:18 Type +testdata/Builtins.lc 421:6-424:24 Type +testdata/Builtins.lc 422:7-422:18 PolygonMode V1 | {a} -> PolygonMode a +testdata/Builtins.lc 423:7-423:19 PolygonMode V3 | Type | {a} -> PointSize a -> PolygonMode a +testdata/Builtins.lc 423:21-423:30 Type->Type +testdata/Builtins.lc 423:21-423:32 Type +testdata/Builtins.lc 423:31-423:32 Type +testdata/Builtins.lc 424:7-424:18 PolygonMode V4 | Type | {a} -> Float -> PolygonMode a +testdata/Builtins.lc 424:19-424:24 Type +testdata/Builtins.lc 426:6-426:19 Type +testdata/Builtins.lc 426:6-428:13 Type +testdata/Builtins.lc 426:6-428:25 Type +testdata/Builtins.lc 427:7-427:15 PolygonOffset +testdata/Builtins.lc 428:7-428:13 Float -> Float->PolygonOffset | PolygonOffset | Type +testdata/Builtins.lc 428:14-428:19 Type +testdata/Builtins.lc 428:20-428:25 Type +testdata/Builtins.lc 430:6-430:28 Type +testdata/Builtins.lc 430:6-432:16 Type testdata/Builtins.lc 431:7-431:16 PointSpriteCoordOrigin -testdata/Builtins.lc 434:1-434:12 () -> Vec 2 Float -> Vec 4 Float -testdata/Builtins.lc 434:22-434:25 Nat -> Type->Type -testdata/Builtins.lc 434:22-434:27 Type->Type -testdata/Builtins.lc 434:22-434:33 Type -testdata/Builtins.lc 434:22-434:48 Type -testdata/Builtins.lc 434:26-434:27 V1 -testdata/Builtins.lc 434:28-434:33 Type -testdata/Builtins.lc 434:37-434:40 Nat -> Type->Type -testdata/Builtins.lc 434:37-434:42 Type->Type -testdata/Builtins.lc 434:37-434:48 Type -testdata/Builtins.lc 434:41-434:42 V1 -testdata/Builtins.lc 434:43-434:48 Type -testdata/Builtins.lc 437:1-437:8 {a} -> String->a -testdata/Builtins.lc 437:14-437:20 Type -testdata/Builtins.lc 437:14-437:25 Type -testdata/Builtins.lc 437:24-437:25 Type | V2 -testdata/Builtins.lc 438:1-438:10 {a} -> String->a +testdata/Builtins.lc 432:7-432:16 PointSpriteCoordOrigin +testdata/Builtins.lc 435:1-435:12 () -> Vec 2 Float -> Vec 4 Float +testdata/Builtins.lc 435:22-435:25 Nat -> Type->Type +testdata/Builtins.lc 435:22-435:27 Type->Type +testdata/Builtins.lc 435:22-435:33 Type +testdata/Builtins.lc 435:22-435:48 Type +testdata/Builtins.lc 435:26-435:27 V1 +testdata/Builtins.lc 435:28-435:33 Type +testdata/Builtins.lc 435:37-435:40 Nat -> Type->Type +testdata/Builtins.lc 435:37-435:42 Type->Type +testdata/Builtins.lc 435:37-435:48 Type +testdata/Builtins.lc 435:41-435:42 V1 +testdata/Builtins.lc 435:43-435:48 Type +testdata/Builtins.lc 438:1-438:8 {a} -> String->a testdata/Builtins.lc 438:14-438:20 Type testdata/Builtins.lc 438:14-438:25 Type testdata/Builtins.lc 438:24-438:25 Type | V2 -testdata/Builtins.lc 440:6-440:19 Type | Type -> PrimitiveType->Type -testdata/Builtins.lc 440:6-443:111 Type -testdata/Builtins.lc 440:25-440:38 Type -testdata/Builtins.lc 440:25-440:46 Type -testdata/Builtins.lc 440:42-440:46 Type -testdata/Builtins.lc 441:3-441:14 RasterContext V5 'Triangle | {a} -> CullMode -> PolygonMode a -> PolygonOffset -> ProvokingVertex -> RasterContext a 'Triangle -testdata/Builtins.lc 441:3-441:115 Type -testdata/Builtins.lc 441:26-441:34 Type -testdata/Builtins.lc 441:26-441:115 Type -testdata/Builtins.lc 441:38-441:49 Type->Type -testdata/Builtins.lc 441:38-441:51 Type -testdata/Builtins.lc 441:38-441:115 Type -testdata/Builtins.lc 441:50-441:51 Type -testdata/Builtins.lc 441:55-441:68 Type -testdata/Builtins.lc 441:55-441:115 Type -testdata/Builtins.lc 441:72-441:87 Type -testdata/Builtins.lc 441:72-441:115 Type -testdata/Builtins.lc 441:91-441:104 Type -> PrimitiveType->Type -testdata/Builtins.lc 441:91-441:106 PrimitiveType->Type -testdata/Builtins.lc 441:91-441:115 Type -testdata/Builtins.lc 441:105-441:106 Type -testdata/Builtins.lc 441:107-441:115 PrimitiveType -testdata/Builtins.lc 442:3-442:11 RasterContext V5 'Point | {a} -> PointSize a -> Float -> PointSpriteCoordOrigin -> RasterContext a 'Point -testdata/Builtins.lc 442:3-442:112 Type -testdata/Builtins.lc 442:26-442:35 Type->Type -testdata/Builtins.lc 442:26-442:37 Type -testdata/Builtins.lc 442:26-442:112 Type -testdata/Builtins.lc 442:36-442:37 Type -testdata/Builtins.lc 442:41-442:46 Type -testdata/Builtins.lc 442:41-442:112 Type -testdata/Builtins.lc 442:50-442:72 Type -testdata/Builtins.lc 442:50-442:112 Type +testdata/Builtins.lc 439:1-439:10 {a} -> String->a +testdata/Builtins.lc 439:14-439:20 Type +testdata/Builtins.lc 439:14-439:25 Type +testdata/Builtins.lc 439:24-439:25 Type | V2 +testdata/Builtins.lc 441:6-441:19 Type | Type -> PrimitiveType->Type +testdata/Builtins.lc 441:6-444:111 Type +testdata/Builtins.lc 441:25-441:38 Type +testdata/Builtins.lc 441:25-441:46 Type +testdata/Builtins.lc 441:42-441:46 Type +testdata/Builtins.lc 442:3-442:14 RasterContext V5 'Triangle | {a} -> CullMode -> PolygonMode a -> PolygonOffset -> ProvokingVertex -> RasterContext a 'Triangle +testdata/Builtins.lc 442:3-442:115 Type +testdata/Builtins.lc 442:26-442:34 Type +testdata/Builtins.lc 442:26-442:115 Type +testdata/Builtins.lc 442:38-442:49 Type->Type +testdata/Builtins.lc 442:38-442:51 Type +testdata/Builtins.lc 442:38-442:115 Type +testdata/Builtins.lc 442:50-442:51 Type +testdata/Builtins.lc 442:55-442:68 Type +testdata/Builtins.lc 442:55-442:115 Type +testdata/Builtins.lc 442:72-442:87 Type +testdata/Builtins.lc 442:72-442:115 Type testdata/Builtins.lc 442:91-442:104 Type -> PrimitiveType->Type testdata/Builtins.lc 442:91-442:106 PrimitiveType->Type -testdata/Builtins.lc 442:91-442:112 Type +testdata/Builtins.lc 442:91-442:115 Type testdata/Builtins.lc 442:105-442:106 Type -testdata/Builtins.lc 442:107-442:112 PrimitiveType -testdata/Builtins.lc 443:3-443:10 RasterContext V5 'Line | {a} -> Float -> ProvokingVertex -> RasterContext a 'Line -testdata/Builtins.lc 443:3-443:111 Type -testdata/Builtins.lc 443:26-443:31 Type -testdata/Builtins.lc 443:26-443:111 Type -testdata/Builtins.lc 443:35-443:50 Type -testdata/Builtins.lc 443:35-443:111 Type +testdata/Builtins.lc 442:107-442:115 PrimitiveType +testdata/Builtins.lc 443:3-443:11 RasterContext V5 'Point | {a} -> PointSize a -> Float -> PointSpriteCoordOrigin -> RasterContext a 'Point +testdata/Builtins.lc 443:3-443:112 Type +testdata/Builtins.lc 443:26-443:35 Type->Type +testdata/Builtins.lc 443:26-443:37 Type +testdata/Builtins.lc 443:26-443:112 Type +testdata/Builtins.lc 443:36-443:37 Type +testdata/Builtins.lc 443:41-443:46 Type +testdata/Builtins.lc 443:41-443:112 Type +testdata/Builtins.lc 443:50-443:72 Type +testdata/Builtins.lc 443:50-443:112 Type testdata/Builtins.lc 443:91-443:104 Type -> PrimitiveType->Type testdata/Builtins.lc 443:91-443:106 PrimitiveType->Type -testdata/Builtins.lc 443:91-443:111 Type +testdata/Builtins.lc 443:91-443:112 Type testdata/Builtins.lc 443:105-443:106 Type -testdata/Builtins.lc 443:107-443:111 PrimitiveType -testdata/Builtins.lc 445:6-445:14 Type | Type->Type -testdata/Builtins.lc 445:6-450:74 Type -testdata/Builtins.lc 445:18-445:22 Type -testdata/Builtins.lc 445:26-445:30 Type -testdata/Builtins.lc 446:3-446:13 Blending V0 | {a} -> Blending a -testdata/Builtins.lc 446:3-446:70 Type -testdata/Builtins.lc 446:60-446:68 Type->Type -testdata/Builtins.lc 446:60-446:70 Type -testdata/Builtins.lc 446:69-446:70 Type | V1 -testdata/Builtins.lc 447:3-447:15 Blending V2 | {a} -> {b : Integral a} -> LogicOperation -> Blending a +testdata/Builtins.lc 443:107-443:112 PrimitiveType +testdata/Builtins.lc 444:3-444:10 RasterContext V5 'Line | {a} -> Float -> ProvokingVertex -> RasterContext a 'Line +testdata/Builtins.lc 444:3-444:111 Type +testdata/Builtins.lc 444:26-444:31 Type +testdata/Builtins.lc 444:26-444:111 Type +testdata/Builtins.lc 444:35-444:50 Type +testdata/Builtins.lc 444:35-444:111 Type +testdata/Builtins.lc 444:91-444:104 Type -> PrimitiveType->Type +testdata/Builtins.lc 444:91-444:106 PrimitiveType->Type +testdata/Builtins.lc 444:91-444:111 Type +testdata/Builtins.lc 444:105-444:106 Type +testdata/Builtins.lc 444:107-444:111 PrimitiveType +testdata/Builtins.lc 446:6-446:14 Type | Type->Type +testdata/Builtins.lc 446:6-451:74 Type +testdata/Builtins.lc 446:18-446:22 Type +testdata/Builtins.lc 446:26-446:30 Type +testdata/Builtins.lc 447:3-447:13 Blending V0 | {a} -> Blending a testdata/Builtins.lc 447:3-447:70 Type -testdata/Builtins.lc 447:26-447:70 Type -testdata/Builtins.lc 447:27-447:35 Type->Type -testdata/Builtins.lc 447:27-447:37 Type -testdata/Builtins.lc 447:36-447:37 V1 -testdata/Builtins.lc 447:42-447:56 Type -testdata/Builtins.lc 447:42-447:70 Type testdata/Builtins.lc 447:60-447:68 Type->Type testdata/Builtins.lc 447:60-447:70 Type -testdata/Builtins.lc 447:69-447:70 Type -testdata/Builtins.lc 448:3-448:8 (BlendEquation, BlendEquation) -> ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor)) -> Vec 4 Float -> Blending Float | Blending Float -testdata/Builtins.lc 448:3-450:74 Type -testdata/Builtins.lc 448:27-448:40 Type -testdata/Builtins.lc 448:27-448:55 List Type -testdata/Builtins.lc 448:42-448:55 List Type | Type -testdata/Builtins.lc 449:29-450:74 Type -testdata/Builtins.lc 449:30-449:62 Type -testdata/Builtins.lc 449:30-449:96 List Type -testdata/Builtins.lc 449:31-449:45 Type -testdata/Builtins.lc 449:31-449:61 List Type -testdata/Builtins.lc 449:47-449:61 List Type | Type -testdata/Builtins.lc 449:64-449:96 List Type | Type -testdata/Builtins.lc 449:65-449:79 Type -testdata/Builtins.lc 449:65-449:95 List Type -testdata/Builtins.lc 449:81-449:95 List Type | Type -testdata/Builtins.lc 450:29-450:32 Nat -> Type->Type -testdata/Builtins.lc 450:29-450:34 Type->Type -testdata/Builtins.lc 450:29-450:40 Type -testdata/Builtins.lc 450:29-450:74 Type -testdata/Builtins.lc 450:33-450:34 V1 -testdata/Builtins.lc 450:35-450:40 Type -testdata/Builtins.lc 450:60-450:68 Type->Type -testdata/Builtins.lc 450:60-450:74 Type -testdata/Builtins.lc 450:69-450:74 Type -testdata/Builtins.lc 452:6-452:18 Type -testdata/Builtins.lc 453:6-453:16 Type -testdata/Builtins.lc 454:6-454:11 Type -testdata/Builtins.lc 456:6-456:23 ImageSemantics->Type | Type -testdata/Builtins.lc 456:6-459:104 Type -testdata/Builtins.lc 456:27-456:41 Type -testdata/Builtins.lc 456:45-456:49 Type -testdata/Builtins.lc 457:3-457:10 FragmentOperation ('Color (VecScalar V3 V4)) | {a} -> {b:Nat} -> {c : Num a} -> Blending a -> VecScalar b Bool -> FragmentOperation ('Color (VecScalar b a)) -testdata/Builtins.lc 457:3-457:112 Type -testdata/Builtins.lc 457:26-457:29 Type->Type -testdata/Builtins.lc 457:26-457:31 Type -testdata/Builtins.lc 457:26-457:112 Type -testdata/Builtins.lc 457:30-457:31 V3 -testdata/Builtins.lc 457:35-457:43 Type->Type -testdata/Builtins.lc 457:35-457:45 Type -testdata/Builtins.lc 457:35-457:112 Type -testdata/Builtins.lc 457:44-457:45 Type -testdata/Builtins.lc 457:49-457:58 Nat -> Type->Type -testdata/Builtins.lc 457:49-457:60 Type->Type -testdata/Builtins.lc 457:49-457:65 Type -testdata/Builtins.lc 457:49-457:112 Type -testdata/Builtins.lc 457:59-457:60 V3 -testdata/Builtins.lc 457:61-457:65 Type -testdata/Builtins.lc 457:71-457:88 ImageSemantics->Type -testdata/Builtins.lc 457:71-457:112 Type -testdata/Builtins.lc 457:90-457:95 Type->ImageSemantics -testdata/Builtins.lc 457:90-457:111 ImageSemantics -testdata/Builtins.lc 457:97-457:106 Nat -> Type->Type -testdata/Builtins.lc 457:97-457:108 Type->Type -testdata/Builtins.lc 457:97-457:110 Type -testdata/Builtins.lc 457:107-457:108 Nat -testdata/Builtins.lc 457:109-457:110 Type -testdata/Builtins.lc 458:3-458:10 ComparisonFunction -> Bool -> FragmentOperation ('Depth Float) | FragmentOperation ('Depth Float) -testdata/Builtins.lc 458:3-458:102 Type -testdata/Builtins.lc 458:26-458:44 Type -testdata/Builtins.lc 458:48-458:52 Type -testdata/Builtins.lc 458:48-458:102 Type +testdata/Builtins.lc 447:69-447:70 Type | V1 +testdata/Builtins.lc 448:3-448:15 Blending V2 | {a} -> {b : Integral a} -> LogicOperation -> Blending a +testdata/Builtins.lc 448:3-448:70 Type +testdata/Builtins.lc 448:26-448:70 Type +testdata/Builtins.lc 448:27-448:35 Type->Type +testdata/Builtins.lc 448:27-448:37 Type +testdata/Builtins.lc 448:36-448:37 V1 +testdata/Builtins.lc 448:42-448:56 Type +testdata/Builtins.lc 448:42-448:70 Type +testdata/Builtins.lc 448:60-448:68 Type->Type +testdata/Builtins.lc 448:60-448:70 Type +testdata/Builtins.lc 448:69-448:70 Type +testdata/Builtins.lc 449:3-449:8 (BlendEquation, BlendEquation) -> ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor)) -> Vec 4 Float -> Blending Float | Blending Float +testdata/Builtins.lc 449:3-451:74 Type +testdata/Builtins.lc 449:27-449:40 Type +testdata/Builtins.lc 449:27-449:55 List Type +testdata/Builtins.lc 449:42-449:55 List Type | Type +testdata/Builtins.lc 450:29-451:74 Type +testdata/Builtins.lc 450:30-450:62 Type +testdata/Builtins.lc 450:30-450:96 List Type +testdata/Builtins.lc 450:31-450:45 Type +testdata/Builtins.lc 450:31-450:61 List Type +testdata/Builtins.lc 450:47-450:61 List Type | Type +testdata/Builtins.lc 450:64-450:96 List Type | Type +testdata/Builtins.lc 450:65-450:79 Type +testdata/Builtins.lc 450:65-450:95 List Type +testdata/Builtins.lc 450:81-450:95 List Type | Type +testdata/Builtins.lc 451:29-451:32 Nat -> Type->Type +testdata/Builtins.lc 451:29-451:34 Type->Type +testdata/Builtins.lc 451:29-451:40 Type +testdata/Builtins.lc 451:29-451:74 Type +testdata/Builtins.lc 451:33-451:34 V1 +testdata/Builtins.lc 451:35-451:40 Type +testdata/Builtins.lc 451:60-451:68 Type->Type +testdata/Builtins.lc 451:60-451:74 Type +testdata/Builtins.lc 451:69-451:74 Type +testdata/Builtins.lc 453:6-453:18 Type +testdata/Builtins.lc 454:6-454:16 Type +testdata/Builtins.lc 455:6-455:11 Type +testdata/Builtins.lc 457:6-457:23 ImageSemantics->Type | Type +testdata/Builtins.lc 457:6-460:104 Type +testdata/Builtins.lc 457:27-457:41 Type +testdata/Builtins.lc 457:45-457:49 Type +testdata/Builtins.lc 458:3-458:10 FragmentOperation ('Color (VecScalar V3 V4)) | {a} -> {b:Nat} -> {c : Num a} -> Blending a -> VecScalar b Bool -> FragmentOperation ('Color (VecScalar b a)) +testdata/Builtins.lc 458:3-458:112 Type +testdata/Builtins.lc 458:26-458:29 Type->Type +testdata/Builtins.lc 458:26-458:31 Type +testdata/Builtins.lc 458:26-458:112 Type +testdata/Builtins.lc 458:30-458:31 V3 +testdata/Builtins.lc 458:35-458:43 Type->Type +testdata/Builtins.lc 458:35-458:45 Type +testdata/Builtins.lc 458:35-458:112 Type +testdata/Builtins.lc 458:44-458:45 Type +testdata/Builtins.lc 458:49-458:58 Nat -> Type->Type +testdata/Builtins.lc 458:49-458:60 Type->Type +testdata/Builtins.lc 458:49-458:65 Type +testdata/Builtins.lc 458:49-458:112 Type +testdata/Builtins.lc 458:59-458:60 V3 +testdata/Builtins.lc 458:61-458:65 Type testdata/Builtins.lc 458:71-458:88 ImageSemantics->Type -testdata/Builtins.lc 458:71-458:102 Type +testdata/Builtins.lc 458:71-458:112 Type testdata/Builtins.lc 458:90-458:95 Type->ImageSemantics -testdata/Builtins.lc 458:90-458:101 ImageSemantics -testdata/Builtins.lc 458:96-458:101 Type -testdata/Builtins.lc 459:3-459:12 FragmentOperation ('Stencil Int32) | StencilTests -> StencilOps -> StencilOps -> FragmentOperation ('Stencil Int32) -testdata/Builtins.lc 459:3-459:104 Type -testdata/Builtins.lc 459:26-459:38 Type -testdata/Builtins.lc 459:42-459:52 Type -testdata/Builtins.lc 459:42-459:104 Type -testdata/Builtins.lc 459:56-459:66 Type -testdata/Builtins.lc 459:56-459:104 Type +testdata/Builtins.lc 458:90-458:111 ImageSemantics +testdata/Builtins.lc 458:97-458:106 Nat -> Type->Type +testdata/Builtins.lc 458:97-458:108 Type->Type +testdata/Builtins.lc 458:97-458:110 Type +testdata/Builtins.lc 458:107-458:108 Nat +testdata/Builtins.lc 458:109-458:110 Type +testdata/Builtins.lc 459:3-459:10 ComparisonFunction -> Bool -> FragmentOperation ('Depth Float) | FragmentOperation ('Depth Float) +testdata/Builtins.lc 459:3-459:102 Type +testdata/Builtins.lc 459:26-459:44 Type +testdata/Builtins.lc 459:48-459:52 Type +testdata/Builtins.lc 459:48-459:102 Type testdata/Builtins.lc 459:71-459:88 ImageSemantics->Type -testdata/Builtins.lc 459:71-459:104 Type -testdata/Builtins.lc 459:90-459:97 Type->ImageSemantics -testdata/Builtins.lc 459:90-459:103 ImageSemantics -testdata/Builtins.lc 459:98-459:103 Type -testdata/Builtins.lc 461:6-461:18 Type | Type->Type -testdata/Builtins.lc 461:6-464:7 Type -testdata/Builtins.lc 462:3-462:9 Interpolated V2 | Type | {a} -> {b : Floating a} -> Interpolated a -testdata/Builtins.lc 462:11-462:24 Interpolated V3 | Type | {a} -> {b : Floating a} -> Interpolated a -testdata/Builtins.lc 463:26-463:56 Type -testdata/Builtins.lc 463:27-463:35 Type->Type -testdata/Builtins.lc 463:27-463:37 Type -testdata/Builtins.lc 463:36-463:37 Type -testdata/Builtins.lc 463:42-463:54 Type->Type -testdata/Builtins.lc 463:42-463:56 Type -testdata/Builtins.lc 463:55-463:56 Type -testdata/Builtins.lc 464:3-464:7 Interpolated V3 | {a} -> Interpolated a +testdata/Builtins.lc 459:71-459:102 Type +testdata/Builtins.lc 459:90-459:95 Type->ImageSemantics +testdata/Builtins.lc 459:90-459:101 ImageSemantics +testdata/Builtins.lc 459:96-459:101 Type +testdata/Builtins.lc 460:3-460:12 FragmentOperation ('Stencil Int32) | StencilTests -> StencilOps -> StencilOps -> FragmentOperation ('Stencil Int32) +testdata/Builtins.lc 460:3-460:104 Type +testdata/Builtins.lc 460:26-460:38 Type +testdata/Builtins.lc 460:42-460:52 Type +testdata/Builtins.lc 460:42-460:104 Type +testdata/Builtins.lc 460:56-460:66 Type +testdata/Builtins.lc 460:56-460:104 Type +testdata/Builtins.lc 460:71-460:88 ImageSemantics->Type +testdata/Builtins.lc 460:71-460:104 Type +testdata/Builtins.lc 460:90-460:97 Type->ImageSemantics +testdata/Builtins.lc 460:90-460:103 ImageSemantics +testdata/Builtins.lc 460:98-460:103 Type +testdata/Builtins.lc 462:6-462:18 Type | Type->Type +testdata/Builtins.lc 462:6-465:7 Type +testdata/Builtins.lc 463:3-463:9 Interpolated V2 | Type | {a} -> {b : Floating a} -> Interpolated a +testdata/Builtins.lc 463:11-463:24 Interpolated V3 | Type | {a} -> {b : Floating a} -> Interpolated a +testdata/Builtins.lc 464:26-464:56 Type +testdata/Builtins.lc 464:27-464:35 Type->Type +testdata/Builtins.lc 464:27-464:37 Type +testdata/Builtins.lc 464:36-464:37 Type testdata/Builtins.lc 464:42-464:54 Type->Type testdata/Builtins.lc 464:42-464:56 Type testdata/Builtins.lc 464:55-464:56 Type -testdata/Builtins.lc 466:1-466:19 {a : List Type} -> {b : List Type} -> {c : List Type} -> {d:PrimitiveType} -> {e : 'map Type Type Interpolated a ~ b} -> {f : c ~ 'Cons (Vec 4 Float) a} -> HList b -> RasterContext (HList c) d -> Primitive (HList c) d -> FragmentStream 1 (HList a) -testdata/Builtins.lc 467:8-472:34 Type -testdata/Builtins.lc 467:10-467:13 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 467:10-467:26 List Type -> List Type -testdata/Builtins.lc 467:10-467:28 List Type -testdata/Builtins.lc 467:10-467:30 List Type -> Type -testdata/Builtins.lc 467:10-467:44 Type -testdata/Builtins.lc 467:14-467:26 Type->Type -testdata/Builtins.lc 467:27-467:28 V7 -testdata/Builtins.lc 467:29-467:30 {a} -> a -> a->Type -testdata/Builtins.lc 467:31-467:44 V5 -testdata/Builtins.lc 468:10-468:11 V5 -testdata/Builtins.lc 468:10-468:13 V4->Type -testdata/Builtins.lc 468:10-468:35 Type -testdata/Builtins.lc 468:10-472:34 Type -testdata/Builtins.lc 468:12-468:13 {a} -> a -> a->Type -testdata/Builtins.lc 468:14-468:19 {a} -> a -> List a -> List a -testdata/Builtins.lc 468:14-468:33 List Type -> List Type -testdata/Builtins.lc 468:14-468:35 List Type -testdata/Builtins.lc 468:21-468:24 Nat -> Type->Type -testdata/Builtins.lc 468:21-468:26 Type->Type -testdata/Builtins.lc 468:21-468:32 Type -testdata/Builtins.lc 468:25-468:26 V1 -testdata/Builtins.lc 468:27-468:32 Type -testdata/Builtins.lc 468:34-468:35 List Type -testdata/Builtins.lc 469:8-469:13 List Type -> Type -testdata/Builtins.lc 469:8-469:27 Type -testdata/Builtins.lc 469:8-472:34 Type -testdata/Builtins.lc 469:14-469:27 List Type -testdata/Builtins.lc 470:8-470:21 Type -> PrimitiveType->Type -testdata/Builtins.lc 470:8-470:31 PrimitiveType->Type -testdata/Builtins.lc 470:8-470:33 Type -testdata/Builtins.lc 470:8-472:34 Type -testdata/Builtins.lc 470:23-470:28 List Type -> Type -testdata/Builtins.lc 470:23-470:30 Type -testdata/Builtins.lc 470:29-470:30 List Type -testdata/Builtins.lc 470:32-470:33 V4 -testdata/Builtins.lc 471:8-471:17 Type -> PrimitiveType->Type -testdata/Builtins.lc 471:8-471:27 PrimitiveType->Type -testdata/Builtins.lc 471:8-471:29 Type -testdata/Builtins.lc 471:8-472:34 Type -testdata/Builtins.lc 471:19-471:24 List Type -> Type -testdata/Builtins.lc 471:19-471:26 Type -testdata/Builtins.lc 471:25-471:26 List Type -testdata/Builtins.lc 471:28-471:29 PrimitiveType -testdata/Builtins.lc 472:8-472:22 Nat -> Type->Type -testdata/Builtins.lc 472:8-472:24 Type->Type -testdata/Builtins.lc 472:8-472:34 Type -testdata/Builtins.lc 472:23-472:24 V1 -testdata/Builtins.lc 472:26-472:31 List Type -> Type -testdata/Builtins.lc 472:26-472:33 Type -testdata/Builtins.lc 472:32-472:33 List Type -testdata/Builtins.lc 474:1-474:20 {a : List Type} -> {b:PrimitiveType} -> RasterContext (HList ('Cons (Vec 4 Float) a)) b -> HList ('map Type Type Interpolated a) -> List (Primitive (HList ('Cons (Vec 4 Float) a)) b) -> List (Vector 1 (Maybe (SimpleFragment (HList a)))) -testdata/Builtins.lc 474:32-474:38 {a} -> List (List a) -> List a -testdata/Builtins.lc 474:32-474:74 List (Vector 1 (Maybe (SimpleFragment (HList V1)))) -testdata/Builtins.lc 474:40-474:43 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 474:40-474:71 List (Primitive (HList ('Cons (Vec 4 Float) V1)) V0) -> List (List (Fragment 1 (HList V2))) -testdata/Builtins.lc 474:40-474:73 List (List (Fragment 1 (HList V1))) -testdata/Builtins.lc 474:45-474:63 {a : List Type} -> {b : List Type} -> {c : List Type} -> {d:PrimitiveType} -> {e : 'map Type Type Interpolated a ~ b} -> {f : c ~ 'Cons (Vec 4 Float) a} -> HList b -> RasterContext (HList c) d -> Primitive (HList c) d -> FragmentStream 1 (HList a) -testdata/Builtins.lc 474:45-474:66 RasterContext (HList ('Cons (Vec 4 Float) V1)) V0 -> Primitive (HList ('Cons (Vec 4 Float) V2)) V1 -> FragmentStream 1 (HList V3) -testdata/Builtins.lc 474:45-474:70 Primitive (HList ('Cons (Vec 4 Float) V1)) V0 -> FragmentStream 1 (HList V2) -testdata/Builtins.lc 474:64-474:66 V8 -testdata/Builtins.lc 474:67-474:70 V7 -testdata/Builtins.lc 474:72-474:73 V3 -testdata/Builtins.lc 476:26-476:29 Type -testdata/Builtins.lc 476:36-476:43 Type->Nat -testdata/Builtins.lc 476:45-476:50 Type -testdata/Builtins.lc 476:45-476:59 Nat->Nat | Type->Nat -testdata/Builtins.lc 476:58-476:59 ImageSemantics->Nat | Nat | Nat -> ImageSemantics->Nat -testdata/Builtins.lc 478:12-478:23 Type -testdata/Builtins.lc 478:12-481:50 V0->V1 | {a} -> List a -> Type -testdata/Builtins.lc 478:13-478:14 V1 -testdata/Builtins.lc 478:19-478:23 Type -testdata/Builtins.lc 479:1-479:8 {a} -> List a -> Type -testdata/Builtins.lc 479:14-479:19 Type -testdata/Builtins.lc 479:14-481:50 List V0 -> Type | Type -testdata/Builtins.lc 480:15-480:20 Type -testdata/Builtins.lc 480:15-481:50 List V1 -> Type | List V2 -> Type | Type | V0 -> List V1 -> Type -testdata/Builtins.lc 481:22-481:25 Type -> Type->Type -testdata/Builtins.lc 481:22-481:33 Type->Type -testdata/Builtins.lc 481:22-481:50 List V1 -> Type | Type | V0 -> List V1 -> Type -testdata/Builtins.lc 481:27-481:28 V6 -testdata/Builtins.lc 481:27-481:30 V5->Type -testdata/Builtins.lc 481:27-481:32 Type -testdata/Builtins.lc 481:29-481:30 {a} -> a -> a->Type -testdata/Builtins.lc 481:31-481:32 V2 -testdata/Builtins.lc 481:35-481:42 {a} -> List a -> Type -testdata/Builtins.lc 481:35-481:49 Type -testdata/Builtins.lc 481:44-481:45 V6 -testdata/Builtins.lc 481:44-481:46 List V5 -> List V6 -testdata/Builtins.lc 481:44-481:48 List V4 -testdata/Builtins.lc 481:45-481:46 {a} -> a -> List a -> List a -testdata/Builtins.lc 481:46-481:48 List V4 -testdata/Builtins.lc 483:1-483:16 List Type -> Type -testdata/Builtins.lc 483:21-483:28 {a} -> List a -> Type -testdata/Builtins.lc 483:21-483:45 Type -testdata/Builtins.lc 483:30-483:33 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 483:30-483:42 List Type -> List Nat -testdata/Builtins.lc 483:30-483:44 List Nat -testdata/Builtins.lc 483:34-483:42 Type->Nat -testdata/Builtins.lc 483:43-483:44 V1 -testdata/Builtins.lc 495:6-495:17 Nat -> List ImageSemantics -> Type | Type -testdata/Builtins.lc 495:6-495:51 Type -testdata/Builtins.lc 495:24-495:27 Type -testdata/Builtins.lc 495:35-495:51 Type -testdata/Builtins.lc 495:36-495:50 Type -testdata/Builtins.lc 497:17-497:31 Type -testdata/Builtins.lc 497:35-497:39 Type -testdata/Builtins.lc 498:1-498:13 ImageSemantics->Type -testdata/Builtins.lc 498:15-498:20 ImageSemantics -testdata/Builtins.lc 498:15-500:29 ImageSemantics->Type | Type -testdata/Builtins.lc 498:26-498:27 Type | Type->Type -testdata/Builtins.lc 498:26-500:29 ImageSemantics->Type -testdata/Builtins.lc 499:26-499:27 Type | Type->V1 -testdata/Builtins.lc 499:26-500:29 Type->Type -> ImageSemantics->Type -testdata/Builtins.lc 500:28-500:29 Type | Type->Type -testdata/Builtins.lc 502:19-502:33 Type -testdata/Builtins.lc 502:38-502:44 Type -testdata/Builtins.lc 502:39-502:43 Type -testdata/Builtins.lc 503:1-503:14 List ImageSemantics -> List Type -testdata/Builtins.lc 503:23-503:24 List ImageSemantics -testdata/Builtins.lc 503:23-504:37 List ImageSemantics -> List Type | List Type -testdata/Builtins.lc 503:30-503:33 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 503:30-503:46 List ImageSemantics -> List Type -testdata/Builtins.lc 503:30-503:48 List Type | Type->V1 -testdata/Builtins.lc 503:30-504:37 (Type -> List Type) -> ImageSemantics -> List Type | List Type | List V1 -> List Type | V0 -> List V1 -> List Type -testdata/Builtins.lc 503:34-503:46 ImageSemantics->Type -testdata/Builtins.lc 503:47-503:48 List V3 -testdata/Builtins.lc 504:19-504:22 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 504:19-504:35 List ImageSemantics -> List Type -testdata/Builtins.lc 504:19-504:37 List Type | Type -> List Type -testdata/Builtins.lc 504:23-504:35 ImageSemantics->Type -testdata/Builtins.lc 504:36-504:37 List ImageSemantics -testdata/Builtins.lc 506:39-506:53 Type -testdata/Builtins.lc 506:60-506:80 Type->ImageSemantics -testdata/Builtins.lc 506:82-506:99 Type -testdata/Builtins.lc 506:82-506:106 ImageSemantics->ImageSemantics | Type->ImageSemantics -testdata/Builtins.lc 506:105-506:106 ImageSemantics | ImageSemantics->ImageSemantics -testdata/Builtins.lc 508:1-508:11 {a : List ImageSemantics} -> {b:Nat} -> {c : List Type} -> {d : a ~ 'map Type ImageSemantics FragmentOperationSem c} -> HList c -> FragmentStream b (HList ('remSemantics' a)) -> FrameBuffer b a -> FrameBuffer b a -testdata/Builtins.lc 508:15-508:176 Type -testdata/Builtins.lc 508:28-508:31 Type -testdata/Builtins.lc 508:39-508:176 Type -testdata/Builtins.lc 508:40-508:44 Type -testdata/Builtins.lc 508:49-508:176 Type -testdata/Builtins.lc 508:50-508:51 V4 -testdata/Builtins.lc 508:50-508:53 V3->Type -testdata/Builtins.lc 508:50-508:80 Type -testdata/Builtins.lc 508:52-508:53 {a} -> a -> a->Type -testdata/Builtins.lc 508:54-508:57 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 508:54-508:78 List Type -> List ImageSemantics -testdata/Builtins.lc 508:54-508:80 List ImageSemantics -testdata/Builtins.lc 508:58-508:78 Type->ImageSemantics -testdata/Builtins.lc 508:79-508:80 List Type -testdata/Builtins.lc 508:85-508:90 List Type -> Type -testdata/Builtins.lc 508:85-508:92 Type -testdata/Builtins.lc 508:85-508:176 Type -testdata/Builtins.lc 508:91-508:92 List Type -testdata/Builtins.lc 508:96-508:110 Nat -> Type->Type -testdata/Builtins.lc 508:96-508:112 Type->Type -testdata/Builtins.lc 508:96-508:138 Type -testdata/Builtins.lc 508:96-508:176 Type -testdata/Builtins.lc 508:111-508:112 Nat -testdata/Builtins.lc 508:114-508:119 List Type -> Type -testdata/Builtins.lc 508:114-508:137 Type -testdata/Builtins.lc 508:121-508:134 List ImageSemantics -> List Type -testdata/Builtins.lc 508:121-508:136 List Type -testdata/Builtins.lc 508:135-508:136 List ImageSemantics -testdata/Builtins.lc 508:142-508:153 Nat -> List ImageSemantics -> Type -testdata/Builtins.lc 508:142-508:155 List ImageSemantics -> Type -testdata/Builtins.lc 508:142-508:157 Type -testdata/Builtins.lc 508:142-508:176 Type -testdata/Builtins.lc 508:154-508:155 Nat -testdata/Builtins.lc 508:156-508:157 List ImageSemantics -testdata/Builtins.lc 508:161-508:172 Nat -> List ImageSemantics -> Type -testdata/Builtins.lc 508:161-508:174 List ImageSemantics -> Type -testdata/Builtins.lc 508:161-508:176 Type -testdata/Builtins.lc 508:173-508:174 Nat -testdata/Builtins.lc 508:175-508:176 List ImageSemantics -testdata/Builtins.lc 510:1-510:15 {a} -> {b} -> a -> b->(a, b) -testdata/Builtins.lc 510:24-510:32 (V3, V1) -testdata/Builtins.lc 510:25-510:28 V5 -testdata/Builtins.lc 510:30-510:31 ((V1)) | V4 -testdata/Builtins.lc 511:1-511:8 {a:Nat} -> {b : List Type} -> FrameBuffer a ('map Type ImageSemantics FragmentOperationSem b) -> (HList b, List (Fragment a (HList ('remSemantics' ('map Type ImageSemantics FragmentOperationSem b))))) -> FrameBuffer a ('map Type ImageSemantics FragmentOperationSem b) -testdata/Builtins.lc 511:13-511:21 V3 -testdata/Builtins.lc 511:13-511:46 FrameBuffer V1 ('map Type ImageSemantics FragmentOperationSem V0) -testdata/Builtins.lc 511:25-511:35 {a : List ImageSemantics} -> {b:Nat} -> {c : List Type} -> {d : a ~ 'map Type ImageSemantics FragmentOperationSem c} -> HList c -> FragmentStream b (HList ('remSemantics' a)) -> FrameBuffer b a -> FrameBuffer b a -testdata/Builtins.lc 511:25-511:39 FragmentStream V1 (HList ('remSemantics' ('map Type ImageSemantics FragmentOperationSem V0))) -> FrameBuffer V2 ('map Type ImageSemantics FragmentOperationSem V1) -> FrameBuffer V3 ('map Type ImageSemantics FragmentOperationSem V2) -testdata/Builtins.lc 511:25-511:43 FrameBuffer V1 ('map Type ImageSemantics FragmentOperationSem V0) -> FrameBuffer V2 ('map Type ImageSemantics FragmentOperationSem V1) -testdata/Builtins.lc 511:25-511:46 FrameBuffer V1 ('map Type ImageSemantics FragmentOperationSem V0) | HList V2 -> V2 | V2 -> HList V2 -> V2 -testdata/Builtins.lc 511:36-511:39 V12 -testdata/Builtins.lc 511:40-511:43 V7 -testdata/Builtins.lc 511:44-511:46 V13 -testdata/Builtins.lc 515:28-515:42 Type -testdata/Builtins.lc 515:49-515:57 Type->ImageSemantics -testdata/Builtins.lc 515:59-515:64 Type -testdata/Builtins.lc 515:59-515:73 ImageSemantics->ImageSemantics | Type->ImageSemantics -testdata/Builtins.lc 515:72-515:73 ImageSemantics | ImageSemantics->ImageSemantics | Nat -> ImageSemantics->ImageSemantics -testdata/Builtins.lc 520:1-520:12 {a : List Type} -> {b : 'sameLayerCounts a} -> HList a -> FrameBuffer (ImageLC ('head Type a)) ('map Type ImageSemantics ImageSem a) -testdata/Builtins.lc 520:31-520:35 Type -testdata/Builtins.lc 520:40-520:121 Type -testdata/Builtins.lc 520:41-520:56 List Type -> Type -testdata/Builtins.lc 520:41-520:58 Type -testdata/Builtins.lc 520:57-520:58 List Type -testdata/Builtins.lc 520:63-520:68 List Type -> Type -testdata/Builtins.lc 520:63-520:70 Type -testdata/Builtins.lc 520:63-520:121 Type -testdata/Builtins.lc 520:69-520:70 List Type -testdata/Builtins.lc 520:74-520:85 Nat -> List ImageSemantics -> Type -testdata/Builtins.lc 520:74-520:104 List ImageSemantics -> Type -testdata/Builtins.lc 520:74-520:121 Type -testdata/Builtins.lc 520:87-520:94 Type->Nat -testdata/Builtins.lc 520:87-520:103 Nat -testdata/Builtins.lc 520:96-520:100 {a} -> List a -> a -testdata/Builtins.lc 520:96-520:102 Type -testdata/Builtins.lc 520:101-520:102 List Type -testdata/Builtins.lc 520:106-520:109 {a} -> {b} -> a->b -> List a -> List b -testdata/Builtins.lc 520:106-520:118 List Type -> List ImageSemantics -testdata/Builtins.lc 520:106-520:120 List ImageSemantics -testdata/Builtins.lc 520:110-520:118 Type->ImageSemantics -testdata/Builtins.lc 520:119-520:120 List Type -testdata/Builtins.lc 522:1-522:11 {a : List Type} -> {b : 'sameLayerCounts a} -> HList a -> FrameBuffer (ImageLC ('head Type a)) ('map Type ImageSemantics ImageSem a) -testdata/Builtins.lc 522:14-522:25 {a : List Type} -> {b : 'sameLayerCounts a} -> HList a -> FrameBuffer (ImageLC ('head Type a)) ('map Type ImageSemantics ImageSem a) -testdata/Builtins.lc 524:1-524:11 {a:Nat} -> {b : List Type} -> {c} -> HList b -> (c -> HList ('remSemantics' ('map Type ImageSemantics FragmentOperationSem b))) -> List (Vector a (Maybe (SimpleFragment c))) -> FrameBuffer a ('map Type ImageSemantics FragmentOperationSem b) -> FrameBuffer a ('map Type ImageSemantics FragmentOperationSem b) -testdata/Builtins.lc 524:34-524:44 {a : List ImageSemantics} -> {b:Nat} -> {c : List Type} -> {d : a ~ 'map Type ImageSemantics FragmentOperationSem c} -> HList c -> FragmentStream b (HList ('remSemantics' a)) -> FrameBuffer b a -> FrameBuffer b a -testdata/Builtins.lc 524:34-524:48 FragmentStream V1 (HList ('remSemantics' ('map Type ImageSemantics FragmentOperationSem V0))) -> FrameBuffer V2 ('map Type ImageSemantics FragmentOperationSem V1) -> FrameBuffer V3 ('map Type ImageSemantics FragmentOperationSem V2) -testdata/Builtins.lc 524:34-524:76 FrameBuffer V2 ('map Type ImageSemantics FragmentOperationSem V1) -> FrameBuffer V3 ('map Type ImageSemantics FragmentOperationSem V2) -testdata/Builtins.lc 524:34-524:79 FrameBuffer V2 ('map Type ImageSemantics FragmentOperationSem V1) -testdata/Builtins.lc 524:45-524:48 V9 -testdata/Builtins.lc 524:50-524:62 {a} -> {b} -> {c:Nat} -> a->b -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b))) -testdata/Builtins.lc 524:50-524:70 List (Vector V0 (Maybe (SimpleFragment V2))) -> List (Vector V1 (Maybe (SimpleFragment V2))) -testdata/Builtins.lc 524:50-524:75 List (Vector V2 (Maybe (SimpleFragment (HList ('remSemantics' ('map Type ImageSemantics FragmentOperationSem V1)))))) -testdata/Builtins.lc 524:63-524:70 V10 -testdata/Builtins.lc 524:71-524:75 V6 -testdata/Builtins.lc 524:77-524:79 V4 -testdata/Builtins.lc 527:1-527:9 {a:ImageSemantics} -> FrameBuffer 1 ('Cons a 'Nil) -> Image 1 a -testdata/Builtins.lc 527:24-527:35 Nat -> List ImageSemantics -> Type -testdata/Builtins.lc 527:24-527:37 List ImageSemantics -> Type -testdata/Builtins.lc 527:24-527:42 Type -testdata/Builtins.lc 527:24-527:55 Type -testdata/Builtins.lc 527:36-527:37 V1 -testdata/Builtins.lc 527:38-527:42 List ImageSemantics -testdata/Builtins.lc 527:40-527:41 V2 -testdata/Builtins.lc 527:46-527:51 Nat -> ImageSemantics->Type -testdata/Builtins.lc 527:46-527:53 ImageSemantics->Type -testdata/Builtins.lc 527:46-527:55 Type -testdata/Builtins.lc 527:52-527:53 V1 -testdata/Builtins.lc 527:54-527:55 ImageSemantics -testdata/Builtins.lc 528:1-528:14 FrameBuffer 1 ('Cons ('Depth Float) ('Cons ('Color (Vec 4 Float)) 'Nil)) -> Image 1 ('Color (Vec 4 Float)) +testdata/Builtins.lc 465:3-465:7 Interpolated V3 | {a} -> Interpolated a +testdata/Builtins.lc 465:42-465:54 Type->Type +testdata/Builtins.lc 465:42-465:56 Type +testdata/Builtins.lc 465:55-465:56 Type +testdata/Builtins.lc 467:1-467:19 {a : List Type} -> {b : List Type} -> {c : List Type} -> {d:PrimitiveType} -> {e : 'map Type Type Interpolated a ~ b} -> {f : c ~ 'Cons (Vec 4 Float) a} -> HList b -> RasterContext (HList c) d -> Primitive (HList c) d -> FragmentStream 1 (HList a) +testdata/Builtins.lc 468:8-473:34 Type +testdata/Builtins.lc 468:10-468:13 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 468:10-468:26 List Type -> List Type +testdata/Builtins.lc 468:10-468:28 List Type +testdata/Builtins.lc 468:10-468:30 List Type -> Type +testdata/Builtins.lc 468:10-468:44 Type +testdata/Builtins.lc 468:14-468:26 Type->Type +testdata/Builtins.lc 468:27-468:28 V7 +testdata/Builtins.lc 468:29-468:30 {a} -> a -> a->Type +testdata/Builtins.lc 468:31-468:44 V5 +testdata/Builtins.lc 469:10-469:11 V5 +testdata/Builtins.lc 469:10-469:13 V4->Type +testdata/Builtins.lc 469:10-469:35 Type +testdata/Builtins.lc 469:10-473:34 Type +testdata/Builtins.lc 469:12-469:13 {a} -> a -> a->Type +testdata/Builtins.lc 469:14-469:19 {a} -> a -> List a -> List a +testdata/Builtins.lc 469:14-469:33 List Type -> List Type +testdata/Builtins.lc 469:14-469:35 List Type +testdata/Builtins.lc 469:21-469:24 Nat -> Type->Type +testdata/Builtins.lc 469:21-469:26 Type->Type +testdata/Builtins.lc 469:21-469:32 Type +testdata/Builtins.lc 469:25-469:26 V1 +testdata/Builtins.lc 469:27-469:32 Type +testdata/Builtins.lc 469:34-469:35 List Type +testdata/Builtins.lc 470:8-470:13 List Type -> Type +testdata/Builtins.lc 470:8-470:27 Type +testdata/Builtins.lc 470:8-473:34 Type +testdata/Builtins.lc 470:14-470:27 List Type +testdata/Builtins.lc 471:8-471:21 Type -> PrimitiveType->Type +testdata/Builtins.lc 471:8-471:31 PrimitiveType->Type +testdata/Builtins.lc 471:8-471:33 Type +testdata/Builtins.lc 471:8-473:34 Type +testdata/Builtins.lc 471:23-471:28 List Type -> Type +testdata/Builtins.lc 471:23-471:30 Type +testdata/Builtins.lc 471:29-471:30 List Type +testdata/Builtins.lc 471:32-471:33 V4 +testdata/Builtins.lc 472:8-472:17 Type -> PrimitiveType->Type +testdata/Builtins.lc 472:8-472:27 PrimitiveType->Type +testdata/Builtins.lc 472:8-472:29 Type +testdata/Builtins.lc 472:8-473:34 Type +testdata/Builtins.lc 472:19-472:24 List Type -> Type +testdata/Builtins.lc 472:19-472:26 Type +testdata/Builtins.lc 472:25-472:26 List Type +testdata/Builtins.lc 472:28-472:29 PrimitiveType +testdata/Builtins.lc 473:8-473:22 Nat -> Type->Type +testdata/Builtins.lc 473:8-473:24 Type->Type +testdata/Builtins.lc 473:8-473:34 Type +testdata/Builtins.lc 473:23-473:24 V1 +testdata/Builtins.lc 473:26-473:31 List Type -> Type +testdata/Builtins.lc 473:26-473:33 Type +testdata/Builtins.lc 473:32-473:33 List Type +testdata/Builtins.lc 475:1-475:20 {a : List Type} -> {b:PrimitiveType} -> RasterContext (HList ('Cons (Vec 4 Float) a)) b -> HList ('map Type Type Interpolated a) -> List (Primitive (HList ('Cons (Vec 4 Float) a)) b) -> List (Vector 1 (Maybe (SimpleFragment (HList a)))) +testdata/Builtins.lc 475:32-475:38 {a} -> List (List a) -> List a +testdata/Builtins.lc 475:32-475:74 List (Vector 1 (Maybe (SimpleFragment (HList V1)))) +testdata/Builtins.lc 475:40-475:43 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 475:40-475:71 List (Primitive (HList ('Cons (Vec 4 Float) V1)) V0) -> List (List (Fragment 1 (HList V2))) +testdata/Builtins.lc 475:40-475:73 List (List (Fragment 1 (HList V1))) +testdata/Builtins.lc 475:45-475:63 {a : List Type} -> {b : List Type} -> {c : List Type} -> {d:PrimitiveType} -> {e : 'map Type Type Interpolated a ~ b} -> {f : c ~ 'Cons (Vec 4 Float) a} -> HList b -> RasterContext (HList c) d -> Primitive (HList c) d -> FragmentStream 1 (HList a) +testdata/Builtins.lc 475:45-475:66 RasterContext (HList ('Cons (Vec 4 Float) V1)) V0 -> Primitive (HList ('Cons (Vec 4 Float) V2)) V1 -> FragmentStream 1 (HList V3) +testdata/Builtins.lc 475:45-475:70 Primitive (HList ('Cons (Vec 4 Float) V1)) V0 -> FragmentStream 1 (HList V2) +testdata/Builtins.lc 475:64-475:66 V8 +testdata/Builtins.lc 475:67-475:70 V7 +testdata/Builtins.lc 475:72-475:73 V3 +testdata/Builtins.lc 477:26-477:29 Type +testdata/Builtins.lc 477:36-477:43 Type->Nat +testdata/Builtins.lc 477:45-477:50 Type +testdata/Builtins.lc 477:45-477:59 Nat->Nat | Type->Nat +testdata/Builtins.lc 477:58-477:59 ImageSemantics->Nat | Nat | Nat -> ImageSemantics->Nat +testdata/Builtins.lc 479:12-479:23 Type +testdata/Builtins.lc 479:12-482:50 V0->V1 | {a} -> List a -> Type +testdata/Builtins.lc 479:13-479:14 V1 +testdata/Builtins.lc 479:19-479:23 Type +testdata/Builtins.lc 480:1-480:8 {a} -> List a -> Type +testdata/Builtins.lc 480:14-480:19 Type +testdata/Builtins.lc 480:14-482:50 List V0 -> Type | Type +testdata/Builtins.lc 481:15-481:20 Type +testdata/Builtins.lc 481:15-482:50 List V1 -> Type | List V2 -> Type | Type | V0 -> List V1 -> Type +testdata/Builtins.lc 482:22-482:25 Type -> Type->Type +testdata/Builtins.lc 482:22-482:33 Type->Type +testdata/Builtins.lc 482:22-482:50 List V1 -> Type | Type | V0 -> List V1 -> Type +testdata/Builtins.lc 482:27-482:28 V6 +testdata/Builtins.lc 482:27-482:30 V5->Type +testdata/Builtins.lc 482:27-482:32 Type +testdata/Builtins.lc 482:29-482:30 {a} -> a -> a->Type +testdata/Builtins.lc 482:31-482:32 V2 +testdata/Builtins.lc 482:35-482:42 {a} -> List a -> Type +testdata/Builtins.lc 482:35-482:49 Type +testdata/Builtins.lc 482:44-482:45 V6 +testdata/Builtins.lc 482:44-482:46 List V5 -> List V6 +testdata/Builtins.lc 482:44-482:48 List V4 +testdata/Builtins.lc 482:45-482:46 {a} -> a -> List a -> List a +testdata/Builtins.lc 482:46-482:48 List V4 +testdata/Builtins.lc 484:1-484:16 List Type -> Type +testdata/Builtins.lc 484:21-484:28 {a} -> List a -> Type +testdata/Builtins.lc 484:21-484:45 Type +testdata/Builtins.lc 484:30-484:33 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 484:30-484:42 List Type -> List Nat +testdata/Builtins.lc 484:30-484:44 List Nat +testdata/Builtins.lc 484:34-484:42 Type->Nat +testdata/Builtins.lc 484:43-484:44 V1 +testdata/Builtins.lc 496:6-496:17 Nat -> List ImageSemantics -> Type | Type +testdata/Builtins.lc 496:6-496:51 Type +testdata/Builtins.lc 496:24-496:27 Type +testdata/Builtins.lc 496:35-496:51 Type +testdata/Builtins.lc 496:36-496:50 Type +testdata/Builtins.lc 498:17-498:31 Type +testdata/Builtins.lc 498:35-498:39 Type +testdata/Builtins.lc 499:1-499:13 ImageSemantics->Type +testdata/Builtins.lc 499:15-499:20 ImageSemantics +testdata/Builtins.lc 499:15-501:29 ImageSemantics->Type | Type +testdata/Builtins.lc 499:26-499:27 Type | Type->Type +testdata/Builtins.lc 499:26-501:29 ImageSemantics->Type +testdata/Builtins.lc 500:26-500:27 Type | Type->V1 +testdata/Builtins.lc 500:26-501:29 Type->Type -> ImageSemantics->Type +testdata/Builtins.lc 501:28-501:29 Type | Type->Type +testdata/Builtins.lc 503:19-503:33 Type +testdata/Builtins.lc 503:38-503:44 Type +testdata/Builtins.lc 503:39-503:43 Type +testdata/Builtins.lc 504:1-504:14 List ImageSemantics -> List Type +testdata/Builtins.lc 504:23-504:24 List ImageSemantics +testdata/Builtins.lc 504:23-505:37 List ImageSemantics -> List Type | List Type +testdata/Builtins.lc 504:30-504:33 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 504:30-504:46 List ImageSemantics -> List Type +testdata/Builtins.lc 504:30-504:48 List Type | Type->V1 +testdata/Builtins.lc 504:30-505:37 (Type -> List Type) -> ImageSemantics -> List Type | List Type | List V1 -> List Type | V0 -> List V1 -> List Type +testdata/Builtins.lc 504:34-504:46 ImageSemantics->Type +testdata/Builtins.lc 504:47-504:48 List V3 +testdata/Builtins.lc 505:19-505:22 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 505:19-505:35 List ImageSemantics -> List Type +testdata/Builtins.lc 505:19-505:37 List Type | Type -> List Type +testdata/Builtins.lc 505:23-505:35 ImageSemantics->Type +testdata/Builtins.lc 505:36-505:37 List ImageSemantics +testdata/Builtins.lc 507:39-507:53 Type +testdata/Builtins.lc 507:60-507:80 Type->ImageSemantics +testdata/Builtins.lc 507:82-507:99 Type +testdata/Builtins.lc 507:82-507:106 ImageSemantics->ImageSemantics | Type->ImageSemantics +testdata/Builtins.lc 507:105-507:106 ImageSemantics | ImageSemantics->ImageSemantics +testdata/Builtins.lc 509:1-509:11 {a : List ImageSemantics} -> {b:Nat} -> {c : List Type} -> {d : a ~ 'map Type ImageSemantics FragmentOperationSem c} -> HList c -> FragmentStream b (HList ('remSemantics' a)) -> FrameBuffer b a -> FrameBuffer b a +testdata/Builtins.lc 509:15-509:176 Type +testdata/Builtins.lc 509:28-509:31 Type +testdata/Builtins.lc 509:39-509:176 Type +testdata/Builtins.lc 509:40-509:44 Type +testdata/Builtins.lc 509:49-509:176 Type +testdata/Builtins.lc 509:50-509:51 V4 +testdata/Builtins.lc 509:50-509:53 V3->Type +testdata/Builtins.lc 509:50-509:80 Type +testdata/Builtins.lc 509:52-509:53 {a} -> a -> a->Type +testdata/Builtins.lc 509:54-509:57 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 509:54-509:78 List Type -> List ImageSemantics +testdata/Builtins.lc 509:54-509:80 List ImageSemantics +testdata/Builtins.lc 509:58-509:78 Type->ImageSemantics +testdata/Builtins.lc 509:79-509:80 List Type +testdata/Builtins.lc 509:85-509:90 List Type -> Type +testdata/Builtins.lc 509:85-509:92 Type +testdata/Builtins.lc 509:85-509:176 Type +testdata/Builtins.lc 509:91-509:92 List Type +testdata/Builtins.lc 509:96-509:110 Nat -> Type->Type +testdata/Builtins.lc 509:96-509:112 Type->Type +testdata/Builtins.lc 509:96-509:138 Type +testdata/Builtins.lc 509:96-509:176 Type +testdata/Builtins.lc 509:111-509:112 Nat +testdata/Builtins.lc 509:114-509:119 List Type -> Type +testdata/Builtins.lc 509:114-509:137 Type +testdata/Builtins.lc 509:121-509:134 List ImageSemantics -> List Type +testdata/Builtins.lc 509:121-509:136 List Type +testdata/Builtins.lc 509:135-509:136 List ImageSemantics +testdata/Builtins.lc 509:142-509:153 Nat -> List ImageSemantics -> Type +testdata/Builtins.lc 509:142-509:155 List ImageSemantics -> Type +testdata/Builtins.lc 509:142-509:157 Type +testdata/Builtins.lc 509:142-509:176 Type +testdata/Builtins.lc 509:154-509:155 Nat +testdata/Builtins.lc 509:156-509:157 List ImageSemantics +testdata/Builtins.lc 509:161-509:172 Nat -> List ImageSemantics -> Type +testdata/Builtins.lc 509:161-509:174 List ImageSemantics -> Type +testdata/Builtins.lc 509:161-509:176 Type +testdata/Builtins.lc 509:173-509:174 Nat +testdata/Builtins.lc 509:175-509:176 List ImageSemantics +testdata/Builtins.lc 511:1-511:15 {a} -> {b} -> a -> b->(a, b) +testdata/Builtins.lc 511:24-511:32 (V3, V1) +testdata/Builtins.lc 511:25-511:28 V5 +testdata/Builtins.lc 511:30-511:31 ((V1)) | V4 +testdata/Builtins.lc 512:1-512:8 {a:Nat} -> {b : List Type} -> FrameBuffer a ('map Type ImageSemantics FragmentOperationSem b) -> (HList b, List (Fragment a (HList ('remSemantics' ('map Type ImageSemantics FragmentOperationSem b))))) -> FrameBuffer a ('map Type ImageSemantics FragmentOperationSem b) +testdata/Builtins.lc 512:13-512:21 V3 +testdata/Builtins.lc 512:13-512:46 FrameBuffer V1 ('map Type ImageSemantics FragmentOperationSem V0) +testdata/Builtins.lc 512:25-512:35 {a : List ImageSemantics} -> {b:Nat} -> {c : List Type} -> {d : a ~ 'map Type ImageSemantics FragmentOperationSem c} -> HList c -> FragmentStream b (HList ('remSemantics' a)) -> FrameBuffer b a -> FrameBuffer b a +testdata/Builtins.lc 512:25-512:39 FragmentStream V1 (HList ('remSemantics' ('map Type ImageSemantics FragmentOperationSem V0))) -> FrameBuffer V2 ('map Type ImageSemantics FragmentOperationSem V1) -> FrameBuffer V3 ('map Type ImageSemantics FragmentOperationSem V2) +testdata/Builtins.lc 512:25-512:43 FrameBuffer V1 ('map Type ImageSemantics FragmentOperationSem V0) -> FrameBuffer V2 ('map Type ImageSemantics FragmentOperationSem V1) +testdata/Builtins.lc 512:25-512:46 FrameBuffer V1 ('map Type ImageSemantics FragmentOperationSem V0) | HList V2 -> V2 | V2 -> HList V2 -> V2 +testdata/Builtins.lc 512:36-512:39 V12 +testdata/Builtins.lc 512:40-512:43 V7 +testdata/Builtins.lc 512:44-512:46 V13 +testdata/Builtins.lc 516:28-516:42 Type +testdata/Builtins.lc 516:49-516:57 Type->ImageSemantics +testdata/Builtins.lc 516:59-516:64 Type +testdata/Builtins.lc 516:59-516:73 ImageSemantics->ImageSemantics | Type->ImageSemantics +testdata/Builtins.lc 516:72-516:73 ImageSemantics | ImageSemantics->ImageSemantics | Nat -> ImageSemantics->ImageSemantics +testdata/Builtins.lc 521:1-521:12 {a : List Type} -> {b : 'sameLayerCounts a} -> HList a -> FrameBuffer (ImageLC ('head Type a)) ('map Type ImageSemantics ImageSem a) +testdata/Builtins.lc 521:31-521:35 Type +testdata/Builtins.lc 521:40-521:121 Type +testdata/Builtins.lc 521:41-521:56 List Type -> Type +testdata/Builtins.lc 521:41-521:58 Type +testdata/Builtins.lc 521:57-521:58 List Type +testdata/Builtins.lc 521:63-521:68 List Type -> Type +testdata/Builtins.lc 521:63-521:70 Type +testdata/Builtins.lc 521:63-521:121 Type +testdata/Builtins.lc 521:69-521:70 List Type +testdata/Builtins.lc 521:74-521:85 Nat -> List ImageSemantics -> Type +testdata/Builtins.lc 521:74-521:104 List ImageSemantics -> Type +testdata/Builtins.lc 521:74-521:121 Type +testdata/Builtins.lc 521:87-521:94 Type->Nat +testdata/Builtins.lc 521:87-521:103 Nat +testdata/Builtins.lc 521:96-521:100 {a} -> List a -> a +testdata/Builtins.lc 521:96-521:102 Type +testdata/Builtins.lc 521:101-521:102 List Type +testdata/Builtins.lc 521:106-521:109 {a} -> {b} -> a->b -> List a -> List b +testdata/Builtins.lc 521:106-521:118 List Type -> List ImageSemantics +testdata/Builtins.lc 521:106-521:120 List ImageSemantics +testdata/Builtins.lc 521:110-521:118 Type->ImageSemantics +testdata/Builtins.lc 521:119-521:120 List Type +testdata/Builtins.lc 523:1-523:11 {a : List Type} -> {b : 'sameLayerCounts a} -> HList a -> FrameBuffer (ImageLC ('head Type a)) ('map Type ImageSemantics ImageSem a) +testdata/Builtins.lc 523:14-523:25 {a : List Type} -> {b : 'sameLayerCounts a} -> HList a -> FrameBuffer (ImageLC ('head Type a)) ('map Type ImageSemantics ImageSem a) +testdata/Builtins.lc 525:1-525:11 {a:Nat} -> {b : List Type} -> {c} -> HList b -> (c -> HList ('remSemantics' ('map Type ImageSemantics FragmentOperationSem b))) -> List (Vector a (Maybe (SimpleFragment c))) -> FrameBuffer a ('map Type ImageSemantics FragmentOperationSem b) -> FrameBuffer a ('map Type ImageSemantics FragmentOperationSem b) +testdata/Builtins.lc 525:34-525:44 {a : List ImageSemantics} -> {b:Nat} -> {c : List Type} -> {d : a ~ 'map Type ImageSemantics FragmentOperationSem c} -> HList c -> FragmentStream b (HList ('remSemantics' a)) -> FrameBuffer b a -> FrameBuffer b a +testdata/Builtins.lc 525:34-525:48 FragmentStream V1 (HList ('remSemantics' ('map Type ImageSemantics FragmentOperationSem V0))) -> FrameBuffer V2 ('map Type ImageSemantics FragmentOperationSem V1) -> FrameBuffer V3 ('map Type ImageSemantics FragmentOperationSem V2) +testdata/Builtins.lc 525:34-525:76 FrameBuffer V2 ('map Type ImageSemantics FragmentOperationSem V1) -> FrameBuffer V3 ('map Type ImageSemantics FragmentOperationSem V2) +testdata/Builtins.lc 525:34-525:79 FrameBuffer V2 ('map Type ImageSemantics FragmentOperationSem V1) +testdata/Builtins.lc 525:45-525:48 V9 +testdata/Builtins.lc 525:50-525:62 {a} -> {b} -> {c:Nat} -> a->b -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b))) +testdata/Builtins.lc 525:50-525:70 List (Vector V0 (Maybe (SimpleFragment V2))) -> List (Vector V1 (Maybe (SimpleFragment V2))) +testdata/Builtins.lc 525:50-525:75 List (Vector V2 (Maybe (SimpleFragment (HList ('remSemantics' ('map Type ImageSemantics FragmentOperationSem V1)))))) +testdata/Builtins.lc 525:63-525:70 V10 +testdata/Builtins.lc 525:71-525:75 V6 +testdata/Builtins.lc 525:77-525:79 V4 +testdata/Builtins.lc 528:1-528:9 {a:ImageSemantics} -> FrameBuffer 1 ('Cons a 'Nil) -> Image 1 a testdata/Builtins.lc 528:24-528:35 Nat -> List ImageSemantics -> Type testdata/Builtins.lc 528:24-528:37 List ImageSemantics -> Type -testdata/Builtins.lc 528:24-528:76 Type +testdata/Builtins.lc 528:24-528:42 Type +testdata/Builtins.lc 528:24-528:55 Type testdata/Builtins.lc 528:36-528:37 V1 -testdata/Builtins.lc 528:38-528:76 List ImageSemantics -testdata/Builtins.lc 528:41-528:47 Type->ImageSemantics -testdata/Builtins.lc 528:41-528:53 ImageSemantics -testdata/Builtins.lc 528:48-528:53 Type -testdata/Builtins.lc 528:55-528:61 Type->ImageSemantics -testdata/Builtins.lc 528:55-528:75 ImageSemantics | List ImageSemantics -testdata/Builtins.lc 528:63-528:66 Nat -> Type->Type -testdata/Builtins.lc 528:63-528:68 Type->Type -testdata/Builtins.lc 528:63-528:74 Type -testdata/Builtins.lc 528:67-528:68 V1 -testdata/Builtins.lc 528:69-528:74 Type -testdata/Builtins.lc 528:80-528:85 Nat -> ImageSemantics->Type -testdata/Builtins.lc 528:80-528:87 ImageSemantics->Type -testdata/Builtins.lc 528:80-528:109 Type -testdata/Builtins.lc 528:86-528:87 V1 -testdata/Builtins.lc 528:89-528:94 Type->ImageSemantics -testdata/Builtins.lc 528:89-528:108 ImageSemantics -testdata/Builtins.lc 528:96-528:99 Nat -> Type->Type -testdata/Builtins.lc 528:96-528:101 Type->Type -testdata/Builtins.lc 528:96-528:107 Type -testdata/Builtins.lc 528:100-528:101 V1 -testdata/Builtins.lc 528:102-528:107 Type -testdata/Builtins.lc 530:6-530:12 Type -testdata/Builtins.lc 530:6-531:12 Type -testdata/Builtins.lc 531:3-531:12 Output | Type | {a:Nat} -> {b : List ImageSemantics} -> FrameBuffer a b -> Output -testdata/Builtins.lc 531:26-531:37 Nat -> List ImageSemantics -> Type -testdata/Builtins.lc 531:26-531:39 List ImageSemantics -> Type -testdata/Builtins.lc 531:26-531:41 Type -testdata/Builtins.lc 531:26-531:51 Type -testdata/Builtins.lc 531:38-531:39 V3 -testdata/Builtins.lc 531:40-531:41 V1 -testdata/Builtins.lc 531:45-531:51 Type -testdata/Builtins.lc 533:1-533:12 {a:Nat} -> {b : List ImageSemantics} -> FrameBuffer a b -> Output -testdata/Builtins.lc 533:15-533:24 {a:Nat} -> {b : List ImageSemantics} -> FrameBuffer a b -> Output -testdata/Builtins.lc 539:6-539:13 Type -testdata/Builtins.lc 539:6-543:12 Type -testdata/Builtins.lc 540:3-540:16 String->Texture | Texture | Type -testdata/Builtins.lc 540:20-540:26 Type -testdata/Builtins.lc 541:20-541:27 Type -testdata/Builtins.lc 543:3-543:12 Texture | Type | Vec 2 Int -> Image 1 ('Color (Vec 4 Float)) -> Texture -testdata/Builtins.lc 543:20-543:23 Nat -> Type->Type -testdata/Builtins.lc 543:20-543:25 Type->Type -testdata/Builtins.lc 543:20-543:29 Type -testdata/Builtins.lc 543:24-543:25 V1 -testdata/Builtins.lc 543:26-543:29 Type -testdata/Builtins.lc 544:20-544:25 Nat -> ImageSemantics->Type -testdata/Builtins.lc 544:20-544:27 ImageSemantics->Type -testdata/Builtins.lc 544:20-544:49 Type -testdata/Builtins.lc 544:20-545:27 Type -testdata/Builtins.lc 544:26-544:27 V1 -testdata/Builtins.lc 544:29-544:34 Type->ImageSemantics -testdata/Builtins.lc 544:29-544:48 ImageSemantics -testdata/Builtins.lc 544:36-544:39 Nat -> Type->Type -testdata/Builtins.lc 544:36-544:41 Type->Type -testdata/Builtins.lc 544:36-544:47 Type -testdata/Builtins.lc 544:40-544:41 V1 -testdata/Builtins.lc 544:42-544:47 Type -testdata/Builtins.lc 545:20-545:27 Type -testdata/Builtins.lc 547:6-547:12 Type -testdata/Builtins.lc 547:6-549:17 Type -testdata/Builtins.lc 548:5-548:16 Filter -testdata/Builtins.lc 549:5-549:17 Filter -testdata/Builtins.lc 551:6-551:14 Type -testdata/Builtins.lc 551:6-554:16 Type -testdata/Builtins.lc 552:5-552:11 EdgeMode -testdata/Builtins.lc 553:5-553:19 EdgeMode -testdata/Builtins.lc 554:5-554:16 EdgeMode -testdata/Builtins.lc 556:6-556:13 Type -testdata/Builtins.lc 556:6-556:23 Type -testdata/Builtins.lc 556:6-556:47 Type -testdata/Builtins.lc 556:16-556:23 Filter -> EdgeMode -> Texture->Sampler | Sampler | Type -testdata/Builtins.lc 556:24-556:30 Type -testdata/Builtins.lc 556:31-556:39 Type -testdata/Builtins.lc 556:40-556:47 Type -testdata/Builtins.lc 559:1-559:10 Sampler -> Vec 2 Float -> Vec 4 Float -testdata/Builtins.lc 559:14-559:21 Type -testdata/Builtins.lc 559:25-559:28 Nat -> Type->Type -testdata/Builtins.lc 559:25-559:30 Type->Type -testdata/Builtins.lc 559:25-559:36 Type -testdata/Builtins.lc 559:25-559:51 Type -testdata/Builtins.lc 559:29-559:30 V1 -testdata/Builtins.lc 559:31-559:36 Type -testdata/Builtins.lc 559:40-559:43 Nat -> Type->Type -testdata/Builtins.lc 559:40-559:45 Type->Type -testdata/Builtins.lc 559:40-559:51 Type -testdata/Builtins.lc 559:44-559:45 V1 -testdata/Builtins.lc 559:46-559:51 Type -testdata/Builtins.lc 563:1-563:20 {a} -> a->a -testdata/Builtins.lc 563:25-563:26 V1 +testdata/Builtins.lc 528:38-528:42 List ImageSemantics +testdata/Builtins.lc 528:40-528:41 V2 +testdata/Builtins.lc 528:46-528:51 Nat -> ImageSemantics->Type +testdata/Builtins.lc 528:46-528:53 ImageSemantics->Type +testdata/Builtins.lc 528:46-528:55 Type +testdata/Builtins.lc 528:52-528:53 V1 +testdata/Builtins.lc 528:54-528:55 ImageSemantics +testdata/Builtins.lc 529:1-529:14 FrameBuffer 1 ('Cons ('Depth Float) ('Cons ('Color (Vec 4 Float)) 'Nil)) -> Image 1 ('Color (Vec 4 Float)) +testdata/Builtins.lc 529:24-529:35 Nat -> List ImageSemantics -> Type +testdata/Builtins.lc 529:24-529:37 List ImageSemantics -> Type +testdata/Builtins.lc 529:24-529:76 Type +testdata/Builtins.lc 529:36-529:37 V1 +testdata/Builtins.lc 529:38-529:76 List ImageSemantics +testdata/Builtins.lc 529:41-529:47 Type->ImageSemantics +testdata/Builtins.lc 529:41-529:53 ImageSemantics +testdata/Builtins.lc 529:48-529:53 Type +testdata/Builtins.lc 529:55-529:61 Type->ImageSemantics +testdata/Builtins.lc 529:55-529:75 ImageSemantics | List ImageSemantics +testdata/Builtins.lc 529:63-529:66 Nat -> Type->Type +testdata/Builtins.lc 529:63-529:68 Type->Type +testdata/Builtins.lc 529:63-529:74 Type +testdata/Builtins.lc 529:67-529:68 V1 +testdata/Builtins.lc 529:69-529:74 Type +testdata/Builtins.lc 529:80-529:85 Nat -> ImageSemantics->Type +testdata/Builtins.lc 529:80-529:87 ImageSemantics->Type +testdata/Builtins.lc 529:80-529:109 Type +testdata/Builtins.lc 529:86-529:87 V1 +testdata/Builtins.lc 529:89-529:94 Type->ImageSemantics +testdata/Builtins.lc 529:89-529:108 ImageSemantics +testdata/Builtins.lc 529:96-529:99 Nat -> Type->Type +testdata/Builtins.lc 529:96-529:101 Type->Type +testdata/Builtins.lc 529:96-529:107 Type +testdata/Builtins.lc 529:100-529:101 V1 +testdata/Builtins.lc 529:102-529:107 Type +testdata/Builtins.lc 531:6-531:12 Type +testdata/Builtins.lc 531:6-532:12 Type +testdata/Builtins.lc 532:3-532:12 Output | Type | {a:Nat} -> {b : List ImageSemantics} -> FrameBuffer a b -> Output +testdata/Builtins.lc 532:26-532:37 Nat -> List ImageSemantics -> Type +testdata/Builtins.lc 532:26-532:39 List ImageSemantics -> Type +testdata/Builtins.lc 532:26-532:41 Type +testdata/Builtins.lc 532:26-532:51 Type +testdata/Builtins.lc 532:38-532:39 V3 +testdata/Builtins.lc 532:40-532:41 V1 +testdata/Builtins.lc 532:45-532:51 Type +testdata/Builtins.lc 534:1-534:12 {a:Nat} -> {b : List ImageSemantics} -> FrameBuffer a b -> Output +testdata/Builtins.lc 534:15-534:24 {a:Nat} -> {b : List ImageSemantics} -> FrameBuffer a b -> Output +testdata/Builtins.lc 540:6-540:13 Type +testdata/Builtins.lc 540:6-544:12 Type +testdata/Builtins.lc 541:3-541:16 String->Texture | Texture | Type +testdata/Builtins.lc 541:20-541:26 Type +testdata/Builtins.lc 542:20-542:27 Type +testdata/Builtins.lc 544:3-544:12 Texture | Type | Vec 2 Int -> Image 1 ('Color (Vec 4 Float)) -> Texture +testdata/Builtins.lc 544:20-544:23 Nat -> Type->Type +testdata/Builtins.lc 544:20-544:25 Type->Type +testdata/Builtins.lc 544:20-544:29 Type +testdata/Builtins.lc 544:24-544:25 V1 +testdata/Builtins.lc 544:26-544:29 Type +testdata/Builtins.lc 545:20-545:25 Nat -> ImageSemantics->Type +testdata/Builtins.lc 545:20-545:27 ImageSemantics->Type +testdata/Builtins.lc 545:20-545:49 Type +testdata/Builtins.lc 545:20-546:27 Type +testdata/Builtins.lc 545:26-545:27 V1 +testdata/Builtins.lc 545:29-545:34 Type->ImageSemantics +testdata/Builtins.lc 545:29-545:48 ImageSemantics +testdata/Builtins.lc 545:36-545:39 Nat -> Type->Type +testdata/Builtins.lc 545:36-545:41 Type->Type +testdata/Builtins.lc 545:36-545:47 Type +testdata/Builtins.lc 545:40-545:41 V1 +testdata/Builtins.lc 545:42-545:47 Type +testdata/Builtins.lc 546:20-546:27 Type +testdata/Builtins.lc 548:6-548:12 Type +testdata/Builtins.lc 548:6-550:17 Type +testdata/Builtins.lc 549:5-549:16 Filter +testdata/Builtins.lc 550:5-550:17 Filter +testdata/Builtins.lc 552:6-552:14 Type +testdata/Builtins.lc 552:6-555:16 Type +testdata/Builtins.lc 553:5-553:11 EdgeMode +testdata/Builtins.lc 554:5-554:19 EdgeMode +testdata/Builtins.lc 555:5-555:16 EdgeMode +testdata/Builtins.lc 557:6-557:13 Type +testdata/Builtins.lc 557:6-557:23 Type +testdata/Builtins.lc 557:6-557:47 Type +testdata/Builtins.lc 557:16-557:23 Filter -> EdgeMode -> Texture->Sampler | Sampler | Type +testdata/Builtins.lc 557:24-557:30 Type +testdata/Builtins.lc 557:31-557:39 Type +testdata/Builtins.lc 557:40-557:47 Type +testdata/Builtins.lc 560:1-560:10 Sampler -> Vec 2 Float -> Vec 4 Float +testdata/Builtins.lc 560:14-560:21 Type +testdata/Builtins.lc 560:25-560:28 Nat -> Type->Type +testdata/Builtins.lc 560:25-560:30 Type->Type +testdata/Builtins.lc 560:25-560:36 Type +testdata/Builtins.lc 560:25-560:51 Type +testdata/Builtins.lc 560:29-560:30 V1 +testdata/Builtins.lc 560:31-560:36 Type +testdata/Builtins.lc 560:40-560:43 Nat -> Type->Type +testdata/Builtins.lc 560:40-560:45 Type->Type +testdata/Builtins.lc 560:40-560:51 Type +testdata/Builtins.lc 560:44-560:45 V1 +testdata/Builtins.lc 560:46-560:51 Type +testdata/Builtins.lc 564:1-564:20 {a} -> a->a +testdata/Builtins.lc 564:25-564:26 V1 -- cgit v1.2.3