diff options
-rw-r--r-- | src/LambdaCube/Compiler/Parser.hs | 119 | ||||
-rw-r--r-- | testdata/Builtins.out | 110 | ||||
-rw-r--r-- | testdata/Internals.out | 86 | ||||
-rw-r--r-- | testdata/Material.out | 6 | ||||
-rw-r--r-- | testdata/Prelude.out | 36 | ||||
-rw-r--r-- | testdata/complex.out | 40 | ||||
-rw-r--r-- | testdata/data.out | 6 | ||||
-rw-r--r-- | testdata/performance/Material.out | 6 | ||||
-rw-r--r-- | testdata/typeclass.out | 12 |
9 files changed, 107 insertions, 314 deletions
diff --git a/src/LambdaCube/Compiler/Parser.hs b/src/LambdaCube/Compiler/Parser.hs index 917af44b..ef410eaf 100644 --- a/src/LambdaCube/Compiler/Parser.hs +++ b/src/LambdaCube/Compiler/Parser.hs | |||
@@ -272,6 +272,12 @@ rUp n l = rearrange l $ \k -> if k >= 0 then k + n else k | |||
272 | instance Rearrange a => Rearrange [a] where | 272 | instance Rearrange a => Rearrange [a] where |
273 | rearrange l f = map $ rearrange l f | 273 | rearrange l f = map $ rearrange l f |
274 | 274 | ||
275 | instance (Rearrange a, Rearrange b) => Rearrange (Either a b) where | ||
276 | rearrange l f = rearrange l f +++ rearrange l f | ||
277 | |||
278 | instance (Rearrange a, Rearrange b) => Rearrange (a, b) where | ||
279 | rearrange l f = rearrange l f *** rearrange l f | ||
280 | |||
275 | instance Rearrange SExp where | 281 | instance Rearrange SExp where |
276 | rearrange i f = mapS (\_ -> elimVoid) (const . SGlobal) (\sn j i -> SVar sn $ if j < i then j else i + f (j - i)) i | 282 | rearrange i f = mapS (\_ -> elimVoid) (const . SGlobal) (\sn j i -> SVar sn $ if j < i then j else i + f (j - i)) i |
277 | 283 | ||
@@ -498,7 +504,7 @@ parseTerm_ ge = \case | |||
498 | exp <- parseTerm PrecLam | 504 | exp <- parseTerm PrecLam |
499 | return $ \e -> | 505 | return $ \e -> |
500 | SBuiltin "concatMap" | 506 | SBuiltin "concatMap" |
501 | `SAppV` SLamV (compileGuardTree id id ge $ compilePatts [(pat, 0)] (Right $ deBruijnify dbs e) `mappend` In (GuardLeaf BNil)) | 507 | `SAppV` SLamV (compileGuardTree id id ge $ compilePatts [pat] (Right $ deBruijnify dbs e) `mappend` In (GuardLeaf BNil)) |
502 | `SAppV` exp | 508 | `SAppV` exp |
503 | 509 | ||
504 | letdecl = mkLets ge <$ reserved "let" <*> (compileFunAlts' =<< valueDef) | 510 | letdecl = mkLets ge <$ reserved "let" <*> (compileFunAlts' =<< valueDef) |
@@ -528,7 +534,7 @@ getList (BCons x (getList -> Just y)) = Just (x:y) | |||
528 | getList _ = Nothing | 534 | getList _ = Nothing |
529 | 535 | ||
530 | patLam :: (SExp -> SExp) -> DesugarInfo -> (Visibility, SExp) -> Pat -> SExp -> SExp | 536 | patLam :: (SExp -> SExp) -> DesugarInfo -> (Visibility, SExp) -> Pat -> SExp -> SExp |
531 | patLam f ge (v, t) p e = SLam v t $ compileGuardTree f f ge $ compilePatts [(p, 0)] $ Right e | 537 | patLam f ge (v, t) p e = SLam v t $ compileGuardTree f f ge $ compilePatts [p] $ Right e |
532 | 538 | ||
533 | -------------------------------------------------------------------------------- pattern representation | 539 | -------------------------------------------------------------------------------- pattern representation |
534 | 540 | ||
@@ -543,7 +549,7 @@ data Pat | |||
543 | newtype ParPat = ParPat [Pat] | 549 | newtype ParPat = ParPat [Pat] |
544 | deriving Show | 550 | deriving Show |
545 | 551 | ||
546 | pattern PWildcard si = PVar (si, "") | 552 | pattern PWildcard = ParPat [] |
547 | pattern PCon n pp <- PCon_ _ n pp | 553 | pattern PCon n pp <- PCon_ _ n pp |
548 | where PCon n pp = PCon_ (fst n <> sourceInfo pp) n pp | 554 | where PCon n pp = PCon_ (fst n <> sourceInfo pp) n pp |
549 | pattern ViewPat e pp <- ViewPat_ _ e pp | 555 | pattern ViewPat e pp <- ViewPat_ _ e pp |
@@ -620,7 +626,7 @@ instance SetSourceInfo Pat where | |||
620 | 626 | ||
621 | parsePat p = appRange $ flip setSI <$> parsePat_ p | 627 | parsePat p = appRange $ flip setSI <$> parsePat_ p |
622 | 628 | ||
623 | parsePat_ :: Prec -> BodyParser Pat | 629 | parsePat_ :: Prec -> BodyParser Pat -- TODO: ParPat |
624 | parsePat_ = \case | 630 | parsePat_ = \case |
625 | PrecAnn -> | 631 | PrecAnn -> |
626 | patType <$> parsePat PrecOp <*> parseType (Just $ Wildcard SType) | 632 | patType <$> parsePat PrecOp <*> parseType (Just $ Wildcard SType) |
@@ -637,7 +643,7 @@ parsePat_ = \case | |||
637 | PrecAtom -> | 643 | PrecAtom -> |
638 | mkLit <$> asks namespace <*> try "literal" parseLit | 644 | mkLit <$> asks namespace <*> try "literal" parseLit |
639 | <|> flip PCon [] <$> upperCase_ | 645 | <|> flip PCon [] <$> upperCase_ |
640 | <|> PVar <$> patVar | 646 | <|> PVar <$> patVar -- TODO: PWildcard |
641 | <|> char '\'' *> ppa switchNamespace | 647 | <|> char '\'' *> ppa switchNamespace |
642 | <|> ppa id | 648 | <|> ppa id |
643 | where | 649 | where |
@@ -657,7 +663,6 @@ parsePat_ = \case | |||
657 | mkListPat ns ps = foldr (\p ps -> PBuiltin "Cons" [p, ps]) (PBuiltin "Nil" []) ps | 663 | mkListPat ns ps = foldr (\p ps -> PBuiltin "Cons" [p, ps]) (PBuiltin "Nil" []) ps |
658 | 664 | ||
659 | --mkTupPat :: [Pat] -> Pat | 665 | --mkTupPat :: [Pat] -> Pat |
660 | -- TODO: tup type pattern in type namespace | ||
661 | mkTupPat TypeNS [PParens x] = mkTTup [x] | 666 | mkTupPat TypeNS [PParens x] = mkTTup [x] |
662 | mkTupPat ns [PParens x] = mkTup [x] | 667 | mkTupPat ns [PParens x] = mkTup [x] |
663 | mkTupPat _ [x] = PParens x | 668 | mkTupPat _ [x] = PParens x |
@@ -713,10 +718,9 @@ instance Rearrange a => Rearrange (Lets a) where | |||
713 | 718 | ||
714 | -- TODO: support type signature? | 719 | -- TODO: support type signature? |
715 | data GuardTree | 720 | data GuardTree |
716 | = GuardNode SExp SName{-TODO:SIName-} [ParPat] GuardTrees GuardTrees | 721 | = GuardNode SExp SName{-TODO:SIName-} [SIName] GuardTrees GuardTrees |
717 | | GuardLeaf SExp | 722 | | GuardLeaf SExp |
718 | | GTError | 723 | | GTError |
719 | -- | GuardLet SExp GuardTree | ||
720 | deriving Show | 724 | deriving Show |
721 | 725 | ||
722 | type GuardTrees = Lets GuardTree | 726 | type GuardTrees = Lets GuardTree |
@@ -730,8 +734,7 @@ instance Monoid GuardTrees where | |||
730 | 734 | ||
731 | mapGT :: (Int -> ParPat -> ParPat) -> (Int -> SExp -> SExp) -> Int -> GuardTree -> GuardTree | 735 | mapGT :: (Int -> ParPat -> ParPat) -> (Int -> SExp -> SExp) -> Int -> GuardTree -> GuardTree |
732 | mapGT f h k = \case | 736 | mapGT f h k = \case |
733 | GuardNode e c pps gt el -> GuardNode (h k e) c (upPats f k pps) (mapGTs f h (k + patVars pps) gt) (mapGTs f h k el) | 737 | GuardNode e c pps gt el -> GuardNode (h k e) c pps (mapGTs f h (k + length pps) gt) (mapGTs f h k el) |
734 | -- GuardLet e gt -> GuardLet (h k e) $ mapGT f h (k + 1) gt | ||
735 | GuardLeaf e -> GuardLeaf $ h k e | 738 | GuardLeaf e -> GuardLeaf $ h k e |
736 | GTError -> GTError | 739 | GTError -> GTError |
737 | 740 | ||
@@ -740,38 +743,32 @@ mapGTs f h = mapLets h (mapGT f h) | |||
740 | instance Rearrange GuardTree where | 743 | instance Rearrange GuardTree where |
741 | rearrange l f = mapGT (`rearrange` f) (`rearrange` f) l | 744 | rearrange l f = mapGT (`rearrange` f) (`rearrange` f) l |
742 | 745 | ||
743 | -- todo: clenup | 746 | guardNode :: Pat -> SExp -> GuardTrees -> GuardTrees |
744 | compilePatts :: [(Pat, Int)] -> Either [(SExp, SExp)] SExp -> GuardTrees | 747 | guardNode (PVar sn) e gt = lLet e gt |
745 | compilePatts ps gu = cp [] ps | 748 | guardNode (PParens p) e gt = guardNode p e gt |
749 | guardNode (ViewPat f p) e gt = guardNode' p (f `SAppV` e) gt | ||
750 | guardNode (PCon sn ps) e gt = In $ GuardNode e (snd sn) ((\(v, _, _) -> v) <$> ws) gt' mempty | ||
746 | where | 751 | where |
747 | cp ps' [] = rearrange 0 (f $ reverse ps') $ case gu of | 752 | n = length ps |
748 | Right e -> In $ GuardLeaf e | 753 | ws = [(ns, SVar ns (n-1-i+d), rUp n d p) | (i, p, d) <- zip3 [0..] ps $ sums $ map patVars ps, let ns = dummyName $ "gn" ++ show i] |
749 | Left gs -> mconcat [In $ GuardNode ge "True" [] (In $ GuardLeaf e) mempty | (ge, e) <- gs] | 754 | gt' = foldr f (rUp n (patVars ps) gt) ws |
750 | cp ps' ((p@PVar{}, i): xs) = cp (p: ps') xs | 755 | f (v, e, p) gt = guardNode' p e gt |
751 | cp ps' ((p@(PCon (si, n) ps), i): xs) = In $ GuardNode (SVar (si, n) $ i + sum (map (fromMaybe 0 . ff) ps')) n ps (cp (p: ps') xs) mempty | 756 | |
752 | cp ps' ((PParens p, i): xs) = cp ps' ((p, i): xs) | 757 | guardNode' (ParPat ps) e gt = case ps of |
753 | cp ps' ((p@(ViewPatSimp f (PCon (si, n) ps)), i): xs) | 758 | [] -> gt |
754 | = In $ GuardNode (SAppV f $ SVar (si, n) $ i + sum (map (fromMaybe 0 . ff) ps')) n ps (cp (p: ps') xs) mempty | 759 | [p] -> guardNode p e gt |
755 | cp _ p = error $ "cp: " ++ show p | 760 | -- TODO: ps |
756 | 761 | ||
757 | m = length ps | 762 | sums = scanl (+) 0 |
758 | |||
759 | ff PVar{} = Nothing | ||
760 | ff p = Just $ patVars p | ||
761 | |||
762 | f ps i | ||
763 | | i >= s = i - s + m + sum vs' | ||
764 | | i < s = case vs_ !! n of | ||
765 | Nothing -> m + sum vs' - 1 - n | ||
766 | Just _ -> m + sum vs' - 1 - (m + sum (take n vs') + j) | ||
767 | where | ||
768 | i' = s - 1 - i | ||
769 | (n, j) = concat (zipWith (\k j -> zip (repeat j) [0..k-1]) vs [0..]) !! i' | ||
770 | 763 | ||
771 | vs_ = map ff ps | 764 | compilePatts :: [Pat] -> Either [(SExp, SExp)] SExp -> GuardTrees |
772 | vs = map (fromMaybe 1) vs_ | 765 | compilePatts ps gu = foldr f gu' $ zip3 ps [0..] $ sums $ map patVars ps |
773 | vs' = map (fromMaybe 0) vs_ | 766 | where |
774 | s = sum vs | 767 | n = length ps |
768 | f (p, i, d) g = guardNode (rUp n d p) (sVar "xcp" $ n-1-i + d) g | ||
769 | gu' = case rUp n (patVars ps) gu of | ||
770 | Right e -> In $ GuardLeaf e | ||
771 | Left gs -> mconcat [guardNode (PBuiltin "True" []) ge (In $ GuardLeaf e) | (ge, e) <- gs] | ||
775 | 772 | ||
776 | compileGuardTree :: (SExp -> SExp) -> (SExp -> SExp) -> DesugarInfo -> GuardTrees -> SExp | 773 | compileGuardTree :: (SExp -> SExp) -> (SExp -> SExp) -> DesugarInfo -> GuardTrees -> SExp |
777 | compileGuardTree ulend lend adts = guardTreeToCases | 774 | compileGuardTree ulend lend adts = guardTreeToCases |
@@ -794,46 +791,27 @@ compileGuardTree ulend lend adts = guardTreeToCases | |||
794 | 791 | ||
795 | filterGuardTree' :: SExp -> SName{-constr.-} -> GuardTrees -> GuardTrees | 792 | filterGuardTree' :: SExp -> SName{-constr.-} -> GuardTrees -> GuardTrees |
796 | filterGuardTree' f s = \case | 793 | filterGuardTree' f s = \case |
797 | In (GuardNode f' s' ps gs el) | 794 | In (GuardNode f' s' ps gs (filterGuardTree' f s -> el)) |
798 | | f /= f' || s /= s' -> In $ GuardNode f' s' ps (filterGuardTree' (up su f) s gs) (filterGuardTree' f s el) | 795 | | f /= f' || s /= s' -> In $ GuardNode f' s' ps (filterGuardTree' (up (length ps) f) s gs) el |
799 | | otherwise -> filterGuardTree' f s el | 796 | | otherwise -> el |
800 | where | ||
801 | su = patVars ps | ||
802 | In x -> In x | 797 | In x -> In x |
803 | 798 | ||
804 | filterGuardTree :: SExp -> SName{-constr.-} -> Int -> Int{-number of constr. params-} -> GuardTrees -> GuardTrees | 799 | filterGuardTree :: SExp -> SName{-constr.-} -> Int -> Int{-number of constr. params-} -> GuardTrees -> GuardTrees |
805 | filterGuardTree f s k ns = \case | 800 | filterGuardTree f s k ns = \case |
806 | In (GuardNode f' s' ps gs el) | 801 | In (GuardNode f' s' ps gs (filterGuardTree f s k ns -> el)) |
807 | | f /= f' -> In $ GuardNode f' s' ps (filterGuardTree (up su f) s (su + k) ns gs) el' | 802 | | f /= f' -> In $ GuardNode f' s' ps (filterGuardTree (up su f) s (su + k) ns gs) el |
808 | | s == s' -> filterGuardTree f s k ns $ guardNodes (zips [k+ns-1, k+ns-2..] ps) gs <> el' | 803 | | s == s' -> filterGuardTree f s k ns $ foldr lLet gs (replicate su $ sVar "30" $ k+ns-1) <> el |
809 | | otherwise -> el' | 804 | | otherwise -> el |
810 | where | 805 | where |
811 | el' = filterGuardTree f s k ns el | 806 | su = length ps |
812 | zips is ps = zip (map (sVar "30") $ zipWith (+) is $ sums $ map patVars ps) ps | ||
813 | su = patVars ps | ||
814 | sums = scanl (+) 0 | ||
815 | In x -> In x | 807 | In x -> In x |
816 | 808 | ||
817 | guardNodes :: [(SExp, ParPat)] -> GuardTrees -> GuardTrees | ||
818 | guardNodes [] l = l | ||
819 | guardNodes ((v, ParPat ws): vs) e = guardNode' v ws $ guardNodes vs e | ||
820 | |||
821 | guardNode' :: SExp -> [Pat] -> GuardTrees -> GuardTrees | ||
822 | guardNode' v [] e = e | ||
823 | guardNode' v [w] e = case w of | ||
824 | PVar _ -> {-todo guardNode v (subst x v ws) $ -} varGuardNode 0 v e | ||
825 | PParens p -> guardNode' v [p] e | ||
826 | ViewPat f (ParPat p) -> guardNode' (f `SAppV` v) p {- -$ guardNode v ws -} e | ||
827 | PCon (_, s) ps' -> In $ GuardNode v s ps' {- -$ guardNode v ws -} e mempty | ||
828 | |||
829 | varGuardNode v (SVar _ e) = rSubst v e | ||
830 | |||
831 | compileGuardTrees ulend adts = compileGuardTree ulend SRHS adts . mconcat | 809 | compileGuardTrees ulend adts = compileGuardTree ulend SRHS adts . mconcat |
832 | 810 | ||
833 | compileGuardTrees' ge = foldr1 (SAppV2 $ SBuiltin "parEval" `SAppV` Wildcard SType) . map (compileGuardTrees id ge . (:[])) | 811 | compileGuardTrees' ge = foldr1 (SAppV2 $ SBuiltin "parEval" `SAppV` Wildcard SType) . map (compileGuardTrees id ge . (:[])) |
834 | 812 | ||
835 | compileCase ge x cs | 813 | compileCase ge x cs |
836 | = SLamV (compileGuardTree id id ge $ mconcat [compilePatts [(p, 0)] e | (p, e) <- cs]) `SAppV` x | 814 | = SLamV (compileGuardTree id id ge $ mconcat [compilePatts [p] e | (p, e) <- cs]) `SAppV` x |
837 | 815 | ||
838 | 816 | ||
839 | -------------------------------------------------------------------------------- declaration representation | 817 | -------------------------------------------------------------------------------- declaration representation |
@@ -1125,10 +1103,7 @@ compileFunAlts (compilegt :: DesugarInfo -> [GuardTrees] -> SExp) ds xs = dsInfo | |||
1125 | | otherwise -> return | 1103 | | otherwise -> return |
1126 | [ Let n | 1104 | [ Let n |
1127 | (listToMaybe [t | TypeAnn n' t <- ds, n' == n]) | 1105 | (listToMaybe [t | TypeAnn n' t <- ds, n' == n]) |
1128 | $ foldr (uncurry SLam . fst) (compilegt ge | 1106 | $ foldr (uncurry SLam . fst) (compilegt ge [compilePatts (map snd vs) gsx | FunAlt _ vs gsx <- fs]) vs |
1129 | [ compilePatts (zip (map snd vs) $ reverse [0.. num - 1]) gsx | ||
1130 | | FunAlt _ vs gsx <- fs | ||
1131 | ]) vs | ||
1132 | ] | 1107 | ] |
1133 | _ -> fail $ "different number of arguments of " ++ snd n ++ " at " ++ ppShow (fst n) | 1108 | _ -> fail $ "different number of arguments of " ++ snd n ++ " at " ++ ppShow (fst n) |
1134 | x -> return x | 1109 | x -> return x |
diff --git a/testdata/Builtins.out b/testdata/Builtins.out index 8898f2fc..5826eb89 100644 --- a/testdata/Builtins.out +++ b/testdata/Builtins.out | |||
@@ -453,13 +453,11 @@ testdata/Builtins.lc 19:35-19:43 Type | |||
453 | testdata/Builtins.lc 19:40-19:41 Type | 453 | testdata/Builtins.lc 19:40-19:41 Type |
454 | testdata/Builtins.lc 19:42-19:43 Nat | 454 | testdata/Builtins.lc 19:42-19:43 Nat |
455 | testdata/Builtins.lc 20:1-20:7 {a} -> {b} -> {c:Nat} -> a->b -> VecS a c -> VecS b c | 455 | testdata/Builtins.lc 20:1-20:7 {a} -> {b} -> {c:Nat} -> a->b -> VecS a c -> VecS b c |
456 | testdata/Builtins.lc 20:11-20:13 VecS V5 V3 | ||
457 | testdata/Builtins.lc 20:11-22:51 V2->V2 -> VecS V3 V1 -> VecS V3 V2 | VecS V3 V1 -> VecS V3 V2 | VecS V3 V2 | ||
458 | testdata/Builtins.lc 20:21-20:23 {a} -> a -> a -> VecS a 2 | 456 | testdata/Builtins.lc 20:21-20:23 {a} -> a -> a -> VecS a 2 |
459 | testdata/Builtins.lc 20:21-20:29 V5 -> VecS V6 2 | 457 | testdata/Builtins.lc 20:21-20:29 V5 -> VecS V6 2 |
460 | testdata/Builtins.lc 20:21-20:35 V0 -> V1 -> VecS V6 2 | V1 -> VecS V6 2 | VecS V5 2 | 458 | testdata/Builtins.lc 20:21-20:35 V0 -> V1 -> VecS V6 2 | V1 -> VecS V6 2 | VecS V5 2 |
461 | testdata/Builtins.lc 20:21-21:43 (V4 -> V5 -> V6 -> V7 -> VecS V7 4) -> {f:Nat} -> VecS V6 f -> VecS V6 f | 459 | testdata/Builtins.lc 20:21-21:43 (V4 -> V5 -> V6 -> V7 -> VecS V7 4) -> {f:Nat} -> VecS V6 f -> VecS V6 f |
462 | testdata/Builtins.lc 20:21-22:51 {a:Nat} -> VecS V5 a -> VecS V5 a | 460 | testdata/Builtins.lc 20:21-22:51 V2->V2 -> VecS V3 V1 -> VecS V3 V2 | VecS V3 V1 -> VecS V3 V2 | {a:Nat} -> VecS V5 a -> VecS V5 a |
463 | testdata/Builtins.lc 20:25-20:26 V8->V8 | 461 | testdata/Builtins.lc 20:25-20:26 V8->V8 |
464 | testdata/Builtins.lc 20:25-20:28 V5 | 462 | testdata/Builtins.lc 20:25-20:28 V5 |
465 | testdata/Builtins.lc 20:27-20:28 V2 | 463 | testdata/Builtins.lc 20:27-20:28 V2 |
@@ -777,29 +775,16 @@ testdata/Builtins.lc 41:75-41:84 Mat 4 4 Float -> Type | |||
777 | testdata/Builtins.lc 41:77-41:78 V1 | 775 | testdata/Builtins.lc 41:77-41:78 V1 |
778 | testdata/Builtins.lc 41:79-41:84 Type | 776 | testdata/Builtins.lc 41:79-41:84 Type |
779 | testdata/Builtins.lc 44:5-44:21 Type->Type | 777 | testdata/Builtins.lc 44:5-44:21 Type->Type |
780 | testdata/Builtins.lc 44:22-44:27 Type | ||
781 | testdata/Builtins.lc 44:22-44:35 Type->Type | ||
782 | testdata/Builtins.lc 44:22-48:37 Type | Type->Type | ||
783 | testdata/Builtins.lc 44:30-44:35 Type | 778 | testdata/Builtins.lc 44:30-44:35 Type |
784 | testdata/Builtins.lc 45:22-45:26 Type | 779 | testdata/Builtins.lc 44:30-48:37 Type | Type->Type |
785 | testdata/Builtins.lc 45:22-45:33 Type->Type | ||
786 | testdata/Builtins.lc 45:22-48:37 Type | ||
787 | testdata/Builtins.lc 45:29-45:33 Type | 780 | testdata/Builtins.lc 45:29-45:33 Type |
788 | testdata/Builtins.lc 46:22-46:25 Type | 781 | testdata/Builtins.lc 45:29-48:37 Type |
789 | testdata/Builtins.lc 46:22-46:31 Type->Type | ||
790 | testdata/Builtins.lc 46:22-48:37 Type | ||
791 | testdata/Builtins.lc 46:28-46:31 Type | 782 | testdata/Builtins.lc 46:28-46:31 Type |
792 | testdata/Builtins.lc 47:23-47:27 Type | 783 | testdata/Builtins.lc 46:28-48:37 Type |
793 | testdata/Builtins.lc 47:23-47:36 Type->Type | ||
794 | testdata/Builtins.lc 47:23-48:37 Type | ||
795 | testdata/Builtins.lc 47:35-47:36 Nat->Type | Type | Type -> Nat->Type | 784 | testdata/Builtins.lc 47:35-47:36 Nat->Type | Type | Type -> Nat->Type |
796 | testdata/Builtins.lc 48:23-48:26 Type | 785 | testdata/Builtins.lc 47:35-48:37 Type |
797 | testdata/Builtins.lc 48:23-48:37 Type->Type | ||
798 | testdata/Builtins.lc 48:36-48:37 Nat -> Nat -> Type->Type | Nat -> Type->Type | Type | Type->Type | 786 | testdata/Builtins.lc 48:36-48:37 Nat -> Nat -> Type->Type | Nat -> Type->Type | Type | Type->Type |
799 | testdata/Builtins.lc 52:7-52:13 Type->Type | 787 | testdata/Builtins.lc 52:7-52:13 Type->Type |
800 | testdata/Builtins.lc 54:25-54:28 Type | ||
801 | testdata/Builtins.lc 54:25-55:30 Type | Type->Type | ||
802 | testdata/Builtins.lc 55:25-55:30 Type | ||
803 | testdata/Builtins.lc 57:7-57:16 Type->Type | 788 | testdata/Builtins.lc 57:7-57:16 Type->Type |
804 | testdata/Builtins.lc 57:7-58:12 Type | 789 | testdata/Builtins.lc 57:7-58:12 Type |
805 | testdata/Builtins.lc 57:7-59:11 Type | 790 | testdata/Builtins.lc 57:7-59:11 Type |
@@ -807,38 +792,22 @@ testdata/Builtins.lc 58:3-58:7 {a} -> {b : Component a}->a | |||
807 | testdata/Builtins.lc 58:11-58:12 Type | 792 | testdata/Builtins.lc 58:11-58:12 Type |
808 | testdata/Builtins.lc 59:3-59:6 {a} -> {b : Component a}->a | 793 | testdata/Builtins.lc 59:3-59:6 {a} -> {b : Component a}->a |
809 | testdata/Builtins.lc 59:10-59:11 Type | 794 | testdata/Builtins.lc 59:10-59:11 Type |
810 | testdata/Builtins.lc 61:20-61:23 Type | ||
811 | testdata/Builtins.lc 61:20-62:18 V1->V2 | ||
812 | testdata/Builtins.lc 61:20-63:17 V1->V2 | ||
813 | testdata/Builtins.lc 61:20-79:24 Type | Type->Type | ||
814 | testdata/Builtins.lc 61:20-89:36 V1 | {a : Component V0}->V1 | {a} -> {b : Component a}->a | ||
815 | testdata/Builtins.lc 61:20-90:31 V1 | {a : Component V0}->V1 | {a} -> {b : Component a}->a | ||
816 | testdata/Builtins.lc 62:10-62:11 V1 | 795 | testdata/Builtins.lc 62:10-62:11 V1 |
796 | testdata/Builtins.lc 62:10-89:36 V1 | {a : Component V0}->V1 | {a} -> {b : Component a}->a | ||
817 | testdata/Builtins.lc 62:15-62:18 Type | 797 | testdata/Builtins.lc 62:15-62:18 Type |
818 | testdata/Builtins.lc 63:9-63:10 V1 | 798 | testdata/Builtins.lc 63:9-63:10 V1 |
799 | testdata/Builtins.lc 63:9-90:31 V1 | {a : Component V0}->V1 | {a} -> {b : Component a}->a | ||
819 | testdata/Builtins.lc 63:14-63:17 Type | 800 | testdata/Builtins.lc 63:14-63:17 Type |
820 | testdata/Builtins.lc 64:20-64:24 Type | ||
821 | testdata/Builtins.lc 64:20-65:19 V1->V2 | ||
822 | testdata/Builtins.lc 64:20-66:18 V1->V2 | ||
823 | testdata/Builtins.lc 64:20-79:24 Type | ||
824 | testdata/Builtins.lc 64:20-89:36 V1 | ||
825 | testdata/Builtins.lc 64:20-90:31 V1 | ||
826 | testdata/Builtins.lc 65:10-65:11 V1 | 801 | testdata/Builtins.lc 65:10-65:11 V1 |
802 | testdata/Builtins.lc 65:10-89:36 V1 | ||
827 | testdata/Builtins.lc 65:15-65:19 Type | 803 | testdata/Builtins.lc 65:15-65:19 Type |
828 | testdata/Builtins.lc 66:9-66:10 V1 | 804 | testdata/Builtins.lc 66:9-66:10 V1 |
805 | testdata/Builtins.lc 66:9-90:31 V1 | ||
829 | testdata/Builtins.lc 66:14-66:18 Type | 806 | testdata/Builtins.lc 66:14-66:18 Type |
830 | testdata/Builtins.lc 67:20-67:25 Type | ||
831 | testdata/Builtins.lc 67:20-68:13 V1->V2 | ||
832 | testdata/Builtins.lc 67:20-69:12 V1->V2 | ||
833 | testdata/Builtins.lc 67:20-79:24 Type | ||
834 | testdata/Builtins.lc 67:20-89:36 V1 | ||
835 | testdata/Builtins.lc 67:20-90:31 V1 | ||
836 | testdata/Builtins.lc 68:10-68:13 Float | 807 | testdata/Builtins.lc 68:10-68:13 Float |
808 | testdata/Builtins.lc 68:10-89:36 V1 | ||
837 | testdata/Builtins.lc 69:9-69:12 Float | 809 | testdata/Builtins.lc 69:9-69:12 Float |
838 | testdata/Builtins.lc 70:21-70:25 Type | 810 | testdata/Builtins.lc 69:9-90:31 V1 |
839 | testdata/Builtins.lc 70:21-79:24 Type | ||
840 | testdata/Builtins.lc 70:21-89:36 V1->V2 | ||
841 | testdata/Builtins.lc 70:21-90:31 V1->V2 | ||
842 | testdata/Builtins.lc 71:10-71:12 {a} -> a -> a -> VecS a 2 | 811 | testdata/Builtins.lc 71:10-71:12 {a} -> a -> a -> VecS a 2 |
843 | testdata/Builtins.lc 71:10-71:16 Float -> VecS Float 2 | 812 | testdata/Builtins.lc 71:10-71:16 Float -> VecS Float 2 |
844 | testdata/Builtins.lc 71:10-71:20 VecS Float 2 | 813 | testdata/Builtins.lc 71:10-71:20 VecS Float 2 |
@@ -887,9 +856,6 @@ testdata/Builtins.lc 78:12-78:15 Float | |||
887 | testdata/Builtins.lc 78:16-78:19 Float | 856 | testdata/Builtins.lc 78:16-78:19 Float |
888 | testdata/Builtins.lc 78:20-78:23 Float | 857 | testdata/Builtins.lc 78:20-78:23 Float |
889 | testdata/Builtins.lc 78:24-78:27 Float | 858 | testdata/Builtins.lc 78:24-78:27 Float |
890 | testdata/Builtins.lc 79:20-79:24 Type | ||
891 | testdata/Builtins.lc 79:20-80:15 V1->V2 | ||
892 | testdata/Builtins.lc 79:20-81:13 V1->V2 | ||
893 | testdata/Builtins.lc 80:10-80:15 Bool | 859 | testdata/Builtins.lc 80:10-80:15 Bool |
894 | testdata/Builtins.lc 81:9-81:13 Bool | 860 | testdata/Builtins.lc 81:9-81:13 Bool |
895 | testdata/Builtins.lc 83:10-83:12 {a} -> a -> a -> VecS a 2 | 861 | testdata/Builtins.lc 83:10-83:12 {a} -> a -> a -> VecS a 2 |
@@ -939,15 +905,7 @@ testdata/Builtins.lc 90:17-90:21 Bool | |||
939 | testdata/Builtins.lc 90:22-90:26 Bool | 905 | testdata/Builtins.lc 90:22-90:26 Bool |
940 | testdata/Builtins.lc 90:27-90:31 Bool | 906 | testdata/Builtins.lc 90:27-90:31 Bool |
941 | testdata/Builtins.lc 92:7-92:15 Type->Type | 907 | testdata/Builtins.lc 92:7-92:15 Type->Type |
942 | testdata/Builtins.lc 94:25-94:28 Type | ||
943 | testdata/Builtins.lc 94:25-95:29 Type | Type->Type | ||
944 | testdata/Builtins.lc 95:25-95:29 Type | ||
945 | testdata/Builtins.lc 97:7-97:15 Type->Type | 908 | testdata/Builtins.lc 97:7-97:15 Type->Type |
946 | testdata/Builtins.lc 99:25-99:30 Type | ||
947 | testdata/Builtins.lc 99:25-103:29 Type | Type->Type | ||
948 | testdata/Builtins.lc 100:26-100:30 Type | ||
949 | testdata/Builtins.lc 100:26-103:29 Type | ||
950 | testdata/Builtins.lc 103:26-103:29 Type | ||
951 | testdata/Builtins.lc 118:1-118:8 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a | 909 | testdata/Builtins.lc 118:1-118:8 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a |
952 | testdata/Builtins.lc 118:10-118:17 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a | 910 | testdata/Builtins.lc 118:10-118:17 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a |
953 | testdata/Builtins.lc 118:19-118:26 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a | 911 | testdata/Builtins.lc 118:19-118:26 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a |
@@ -1907,8 +1865,6 @@ testdata/Builtins.lc 187:55-187:66 Type | |||
1907 | testdata/Builtins.lc 187:59-187:60 V1 | 1865 | testdata/Builtins.lc 187:59-187:60 V1 |
1908 | testdata/Builtins.lc 187:61-187:66 Type | 1866 | testdata/Builtins.lc 187:61-187:66 Type |
1909 | testdata/Builtins.lc 201:1-201:5 {a} -> List a -> a | 1867 | testdata/Builtins.lc 201:1-201:5 {a} -> List a -> a |
1910 | testdata/Builtins.lc 201:8-201:9 V2 | ||
1911 | testdata/Builtins.lc 201:8-201:16 V0 | ||
1912 | testdata/Builtins.lc 201:15-201:16 List V2 -> V2 | V1 -> List V2 -> V2 | V3 | 1868 | testdata/Builtins.lc 201:15-201:16 List V2 -> V2 | V1 -> List V2 -> V2 | V3 |
1913 | testdata/Builtins.lc 203:6-203:8 {a} -> List a -> List a -> List a | 1869 | testdata/Builtins.lc 203:6-203:8 {a} -> List a -> List a -> List a |
1914 | testdata/Builtins.lc 203:14-203:16 V3 | 1870 | testdata/Builtins.lc 203:14-203:16 V3 |
@@ -2149,7 +2105,7 @@ testdata/Builtins.lc 270:53-270:54 V1 | |||
2149 | testdata/Builtins.lc 272:6-272:20 Type | Type->Type | 2105 | testdata/Builtins.lc 272:6-272:20 Type | Type->Type |
2150 | testdata/Builtins.lc 272:6-272:39 Type | 2106 | testdata/Builtins.lc 272:6-272:39 Type |
2151 | testdata/Builtins.lc 272:6-274:29 Type | 2107 | testdata/Builtins.lc 272:6-274:29 Type |
2152 | testdata/Builtins.lc 272:25-272:39 SimpleFragment V3 | Type | V2 | {a} -> Vec 3 Float -> a -> SimpleFragment a | 2108 | testdata/Builtins.lc 272:25-272:39 SimpleFragment V3 | Type | {a} -> Vec 3 Float -> a -> SimpleFragment a |
2153 | testdata/Builtins.lc 273:7-273:22 {a} -> SimpleFragment a -> VecS Float 3 | 2109 | testdata/Builtins.lc 273:7-273:22 {a} -> SimpleFragment a -> VecS Float 3 |
2154 | testdata/Builtins.lc 273:28-273:31 Nat -> Type->Type | 2110 | testdata/Builtins.lc 273:28-273:31 Nat -> Type->Type |
2155 | testdata/Builtins.lc 273:28-273:33 Type->Type | 2111 | testdata/Builtins.lc 273:28-273:33 Type->Type |
@@ -2279,11 +2235,9 @@ testdata/Builtins.lc 299:7-299:14 ImageKind | |||
2279 | testdata/Builtins.lc 301:14-301:23 Type | 2235 | testdata/Builtins.lc 301:14-301:23 Type |
2280 | testdata/Builtins.lc 301:27-301:31 Type | 2236 | testdata/Builtins.lc 301:27-301:31 Type |
2281 | testdata/Builtins.lc 302:1-302:10 ImageKind->Type | 2237 | testdata/Builtins.lc 302:1-302:10 ImageKind->Type |
2282 | testdata/Builtins.lc 302:12-302:17 ImageKind | ||
2283 | testdata/Builtins.lc 302:12-304:25 ImageKind->Type | Type | ||
2284 | testdata/Builtins.lc 302:23-302:24 Type | Type->V1 | 2238 | testdata/Builtins.lc 302:23-302:24 Type | Type->V1 |
2285 | testdata/Builtins.lc 302:23-303:25 Type -> ImageKind->Type | 2239 | testdata/Builtins.lc 302:23-303:25 Type -> ImageKind->Type |
2286 | testdata/Builtins.lc 302:23-304:25 ImageKind->Type | 2240 | testdata/Builtins.lc 302:23-304:25 ImageKind->Type | Type |
2287 | testdata/Builtins.lc 303:19-303:25 Type | 2241 | testdata/Builtins.lc 303:19-303:25 Type |
2288 | testdata/Builtins.lc 304:21-304:25 Type | 2242 | testdata/Builtins.lc 304:21-304:25 Type |
2289 | testdata/Builtins.lc 306:6-306:11 Nat -> ImageKind->Type | Type | 2243 | testdata/Builtins.lc 306:6-306:11 Nat -> ImageKind->Type | Type |
@@ -2355,28 +2309,20 @@ testdata/Builtins.lc 339:38-339:43 Type | |||
2355 | testdata/Builtins.lc 339:38-339:48 Type | 2309 | testdata/Builtins.lc 339:38-339:48 Type |
2356 | testdata/Builtins.lc 339:47-339:48 Type | 2310 | testdata/Builtins.lc 339:47-339:48 Type |
2357 | testdata/Builtins.lc 340:1-340:12 {a} -> {b:Nat} -> Vec b a -> Swizz->a | 2311 | testdata/Builtins.lc 340:1-340:12 {a} -> {b:Nat} -> Vec b a -> Swizz->a |
2358 | testdata/Builtins.lc 340:14-340:16 Vec V4 V5 | ||
2359 | testdata/Builtins.lc 340:14-348:32 Swizz->V3 | V3 | Vec V0 V1 -> Swizz->V3 | ||
2360 | testdata/Builtins.lc 340:22-340:24 Swizz | ||
2361 | testdata/Builtins.lc 340:22-341:28 V1 -> V2->V2 | V2 | V2->V2 | ||
2362 | testdata/Builtins.lc 340:22-344:30 (V0 -> V1 -> V2 -> V3->V4) -> {f:Nat} -> VecS V2 f -> V3 | ||
2363 | testdata/Builtins.lc 340:22-348:32 {a:Nat} -> VecS V1 a -> V2 | ||
2364 | testdata/Builtins.lc 340:27-340:28 V4 | 2312 | testdata/Builtins.lc 340:27-340:28 V4 |
2365 | testdata/Builtins.lc 340:27-341:28 V3 -> V4 -> Swizz->V6 | 2313 | testdata/Builtins.lc 340:27-341:28 V1 -> V2->V2 | V2 | V2->V2 | V3 -> V4 -> Swizz->V6 |
2314 | testdata/Builtins.lc 340:27-344:30 (V0 -> V1 -> V2 -> V3->V4) -> {f:Nat} -> VecS V2 f -> V3 | ||
2315 | testdata/Builtins.lc 340:27-348:32 Swizz->V3 | V3 | Vec V0 V1 -> Swizz->V3 | {a:Nat} -> VecS V1 a -> V2 | ||
2366 | testdata/Builtins.lc 341:27-341:28 V3 | 2316 | testdata/Builtins.lc 341:27-341:28 V3 |
2367 | testdata/Builtins.lc 342:24-342:26 Swizz | ||
2368 | testdata/Builtins.lc 342:24-344:30 V0 -> V1 -> V2->V3 | V1 -> V2->V3 | V2->V3 | V3 | ||
2369 | testdata/Builtins.lc 342:29-342:30 V4 | 2317 | testdata/Builtins.lc 342:29-342:30 V4 |
2370 | testdata/Builtins.lc 342:29-343:30 V3 -> V4 -> Swizz->V6 | 2318 | testdata/Builtins.lc 342:29-343:30 V3 -> V4 -> Swizz->V6 |
2371 | testdata/Builtins.lc 342:29-344:30 V3 -> Swizz->V5 | 2319 | testdata/Builtins.lc 342:29-344:30 V0 -> V1 -> V2->V3 | V1 -> V2->V3 | V2->V3 | V3 | V3 -> Swizz->V5 |
2372 | testdata/Builtins.lc 343:29-343:30 V3 | 2320 | testdata/Builtins.lc 343:29-343:30 V3 |
2373 | testdata/Builtins.lc 344:29-344:30 V3 | 2321 | testdata/Builtins.lc 344:29-344:30 V3 |
2374 | testdata/Builtins.lc 345:26-345:28 Swizz | ||
2375 | testdata/Builtins.lc 345:26-348:32 V0 -> V1 -> V2 -> V3->V4 | V1 -> V2 -> V3->V4 | V2 -> V3->V4 | V3->V4 | V4 | ||
2376 | testdata/Builtins.lc 345:31-345:32 V5 | 2322 | testdata/Builtins.lc 345:31-345:32 V5 |
2377 | testdata/Builtins.lc 345:31-346:32 V4 -> V5 -> Swizz->V7 | 2323 | testdata/Builtins.lc 345:31-346:32 V4 -> V5 -> Swizz->V7 |
2378 | testdata/Builtins.lc 345:31-347:32 V4 -> Swizz->V6 | 2324 | testdata/Builtins.lc 345:31-347:32 V4 -> Swizz->V6 |
2379 | testdata/Builtins.lc 345:31-348:32 Swizz->V5 | 2325 | testdata/Builtins.lc 345:31-348:32 Swizz->V5 | V0 -> V1 -> V2 -> V3->V4 | V1 -> V2 -> V3->V4 | V2 -> V3->V4 | V3->V4 | V4 |
2380 | testdata/Builtins.lc 346:31-346:32 V4 | 2326 | testdata/Builtins.lc 346:31-346:32 V4 |
2381 | testdata/Builtins.lc 347:31-347:32 V4 | 2327 | testdata/Builtins.lc 347:31-347:32 V4 |
2382 | testdata/Builtins.lc 348:31-348:32 V4 | 2328 | testdata/Builtins.lc 348:31-348:32 V4 |
@@ -2388,11 +2334,9 @@ testdata/Builtins.lc 351:32-351:33 V1 | |||
2388 | testdata/Builtins.lc 351:34-351:35 V2 | 2334 | testdata/Builtins.lc 351:34-351:35 V2 |
2389 | testdata/Builtins.lc 351:39-351:43 Type | 2335 | testdata/Builtins.lc 351:39-351:43 Type |
2390 | testdata/Builtins.lc 352:1-352:11 {a} -> {b:Nat} -> Vec b a -> Bool | 2336 | testdata/Builtins.lc 352:1-352:11 {a} -> {b:Nat} -> Vec b a -> Bool |
2391 | testdata/Builtins.lc 352:13-352:15 Vec V3 V4 | ||
2392 | testdata/Builtins.lc 352:13-354:31 Bool | Vec V0 V1 -> Bool | ||
2393 | testdata/Builtins.lc 352:23-352:27 Bool | V1 -> V2->V2 | V2->V2 | 2337 | testdata/Builtins.lc 352:23-352:27 Bool | V1 -> V2->V2 | V2->V2 |
2394 | testdata/Builtins.lc 352:23-353:29 (V0 -> V1 -> V2 -> V3->Bool) -> {f:Nat} -> VecS V2 f -> Bool | 2338 | testdata/Builtins.lc 352:23-353:29 (V0 -> V1 -> V2 -> V3->Bool) -> {f:Nat} -> VecS V2 f -> Bool |
2395 | testdata/Builtins.lc 352:23-354:31 {a:Nat} -> VecS V1 a -> Bool | 2339 | testdata/Builtins.lc 352:23-354:31 Bool | Vec V0 V1 -> Bool | {a:Nat} -> VecS V1 a -> Bool |
2396 | testdata/Builtins.lc 353:25-353:29 Bool | V0 -> V1 -> V2->Bool | V1 -> V2->Bool | V2->Bool | 2340 | testdata/Builtins.lc 353:25-353:29 Bool | V0 -> V1 -> V2->Bool | V1 -> V2->Bool | V2->Bool |
2397 | testdata/Builtins.lc 354:27-354:31 Bool | V0 -> V1 -> V2 -> V3->Bool | V1 -> V2 -> V3->Bool | V2 -> V3->Bool | V3->Bool | 2341 | testdata/Builtins.lc 354:27-354:31 Bool | V0 -> V1 -> V2 -> V3->Bool | V1 -> V2 -> V3->Bool | V2 -> V3->Bool | V3->Bool |
2398 | testdata/Builtins.lc 356:16-356:71 Type | 2342 | testdata/Builtins.lc 356:16-356:71 Type |
@@ -2769,9 +2713,7 @@ testdata/Builtins.lc 488:67-488:70 V7 | |||
2769 | testdata/Builtins.lc 488:72-488:73 V3 | 2713 | testdata/Builtins.lc 488:72-488:73 V3 |
2770 | testdata/Builtins.lc 490:26-490:29 Type | 2714 | testdata/Builtins.lc 490:26-490:29 Type |
2771 | testdata/Builtins.lc 490:36-490:43 Type->Nat | 2715 | testdata/Builtins.lc 490:36-490:43 Type->Nat |
2772 | testdata/Builtins.lc 490:45-490:50 Type | 2716 | testdata/Builtins.lc 490:58-490:59 ImageKind->Nat | Nat | Nat -> ImageKind->Nat | Type->Nat |
2773 | testdata/Builtins.lc 490:45-490:59 Nat->Nat | Type->Nat | ||
2774 | testdata/Builtins.lc 490:58-490:59 ImageKind->Nat | Nat | Nat -> ImageKind->Nat | ||
2775 | testdata/Builtins.lc 492:12-492:15 Type | 2717 | testdata/Builtins.lc 492:12-492:15 Type |
2776 | testdata/Builtins.lc 492:12-492:23 Type | 2718 | testdata/Builtins.lc 492:12-492:23 Type |
2777 | testdata/Builtins.lc 492:12-495:50 V0->V1 | {a} -> List a -> Type | 2719 | testdata/Builtins.lc 492:12-495:50 V0->V1 | {a} -> List a -> Type |
@@ -2815,12 +2757,10 @@ testdata/Builtins.lc 511:16-511:25 Type | |||
2815 | testdata/Builtins.lc 511:30-511:36 Type | 2757 | testdata/Builtins.lc 511:30-511:36 Type |
2816 | testdata/Builtins.lc 511:31-511:35 Type | 2758 | testdata/Builtins.lc 511:31-511:35 Type |
2817 | testdata/Builtins.lc 512:1-512:11 List ImageKind -> List Type | 2759 | testdata/Builtins.lc 512:1-512:11 List ImageKind -> List Type |
2818 | testdata/Builtins.lc 512:18-512:19 List ImageKind | ||
2819 | testdata/Builtins.lc 512:18-513:31 List ImageKind -> List Type | List Type | ||
2820 | testdata/Builtins.lc 512:25-512:28 {a} -> {b} -> a->b -> List a -> List b | 2760 | testdata/Builtins.lc 512:25-512:28 {a} -> {b} -> a->b -> List a -> List b |
2821 | testdata/Builtins.lc 512:25-512:38 List ImageKind -> List Type | 2761 | testdata/Builtins.lc 512:25-512:38 List ImageKind -> List Type |
2822 | testdata/Builtins.lc 512:25-512:40 List Type | 2762 | testdata/Builtins.lc 512:25-512:40 List Type |
2823 | testdata/Builtins.lc 512:25-513:31 List Type | List Type -> ImageKind -> List Type | List V1 -> List Type | V0 -> List V1 -> List Type | 2763 | testdata/Builtins.lc 512:25-513:31 List ImageKind -> List Type | List Type | List Type -> ImageKind -> List Type | List V1 -> List Type | V0 -> List V1 -> List Type |
2824 | testdata/Builtins.lc 512:29-512:38 ImageKind->Type | 2764 | testdata/Builtins.lc 512:29-512:38 ImageKind->Type |
2825 | testdata/Builtins.lc 512:39-512:40 List V2 | 2765 | testdata/Builtins.lc 512:39-512:40 List V2 |
2826 | testdata/Builtins.lc 513:16-513:19 {a} -> {b} -> a->b -> List a -> List b | 2766 | testdata/Builtins.lc 513:16-513:19 {a} -> {b} -> a->b -> List a -> List b |
@@ -2830,9 +2770,7 @@ testdata/Builtins.lc 513:20-513:29 ImageKind->Type | |||
2830 | testdata/Builtins.lc 513:30-513:31 List ImageKind | 2770 | testdata/Builtins.lc 513:30-513:31 List ImageKind |
2831 | testdata/Builtins.lc 515:40-515:49 Type | 2771 | testdata/Builtins.lc 515:40-515:49 Type |
2832 | testdata/Builtins.lc 515:56-515:77 Type->ImageKind | 2772 | testdata/Builtins.lc 515:56-515:77 Type->ImageKind |
2833 | testdata/Builtins.lc 515:79-515:96 Type | 2773 | testdata/Builtins.lc 515:102-515:103 ImageKind | ImageKind->ImageKind | Type->ImageKind |
2834 | testdata/Builtins.lc 515:79-515:103 ImageKind->ImageKind | Type->ImageKind | ||
2835 | testdata/Builtins.lc 515:102-515:103 ImageKind | ImageKind->ImageKind | ||
2836 | testdata/Builtins.lc 517:1-517:11 {a : List ImageKind} -> {b:Nat} -> {c : List Type} -> {d : a ~ 'map Type ImageKind FragmentOperationKind c} -> HList c -> FragmentStream b (HList ('imageType' a)) -> FrameBuffer b a -> FrameBuffer b a | 2774 | testdata/Builtins.lc 517:1-517:11 {a : List ImageKind} -> {b:Nat} -> {c : List Type} -> {d : a ~ 'map Type ImageKind FragmentOperationKind c} -> HList c -> FragmentStream b (HList ('imageType' a)) -> FrameBuffer b a -> FrameBuffer b a |
2837 | testdata/Builtins.lc 517:15-517:174 Type | 2775 | testdata/Builtins.lc 517:15-517:174 Type |
2838 | testdata/Builtins.lc 517:28-517:31 Type | 2776 | testdata/Builtins.lc 517:28-517:31 Type |
@@ -2888,9 +2826,7 @@ testdata/Builtins.lc 520:40-520:43 V7 | |||
2888 | testdata/Builtins.lc 520:44-520:46 V13 | 2826 | testdata/Builtins.lc 520:44-520:46 V13 |
2889 | testdata/Builtins.lc 524:31-524:40 Type | 2827 | testdata/Builtins.lc 524:31-524:40 Type |
2890 | testdata/Builtins.lc 524:47-524:59 Type->ImageKind | 2828 | testdata/Builtins.lc 524:47-524:59 Type->ImageKind |
2891 | testdata/Builtins.lc 524:61-524:66 Type | 2829 | testdata/Builtins.lc 524:74-524:75 ImageKind | ImageKind->ImageKind | Nat -> ImageKind->ImageKind | Type->ImageKind |
2892 | testdata/Builtins.lc 524:61-524:75 ImageKind->ImageKind | Type->ImageKind | ||
2893 | testdata/Builtins.lc 524:74-524:75 ImageKind | ImageKind->ImageKind | Nat -> ImageKind->ImageKind | ||
2894 | testdata/Builtins.lc 530:1-530:12 {a : List Type} -> {b : 'sameLayerCounts a} -> HList a -> FrameBuffer (ImageLC ('head Type a)) ('map Type ImageKind GetImageKind a) | 2830 | testdata/Builtins.lc 530:1-530:12 {a : List Type} -> {b : 'sameLayerCounts a} -> HList a -> FrameBuffer (ImageLC ('head Type a)) ('map Type ImageKind GetImageKind a) |
2895 | testdata/Builtins.lc 530:30-530:36 Type | 2831 | testdata/Builtins.lc 530:30-530:36 Type |
2896 | testdata/Builtins.lc 530:31-530:35 Type | 2832 | testdata/Builtins.lc 530:31-530:35 Type |
diff --git a/testdata/Internals.out b/testdata/Internals.out index 0d1624b3..568351c5 100644 --- a/testdata/Internals.out +++ b/testdata/Internals.out | |||
@@ -235,14 +235,10 @@ testdata/Internals.lc 74:32-74:33 Type | |||
235 | testdata/Internals.lc 74:32-74:38 Type | 235 | testdata/Internals.lc 74:32-74:38 Type |
236 | testdata/Internals.lc 74:37-74:38 Type | 236 | testdata/Internals.lc 74:37-74:38 Type |
237 | testdata/Internals.lc 75:1-75:15 {a} -> Bool -> a -> a->a | 237 | testdata/Internals.lc 75:1-75:15 {a} -> Bool -> a -> a->a |
238 | testdata/Internals.lc 75:16-75:20 Bool | ||
239 | testdata/Internals.lc 75:16-76:29 Bool -> V1 -> V2->V3 | V1 -> V2->V3 | V2->V3 | V3 | ||
240 | testdata/Internals.lc 75:28-75:29 V3 | 238 | testdata/Internals.lc 75:28-75:29 V3 |
241 | testdata/Internals.lc 75:28-76:29 Bool->V4 | 239 | testdata/Internals.lc 75:28-76:29 Bool -> V1 -> V2->V3 | Bool->V4 | V1 -> V2->V3 | V2->V3 | V3 |
242 | testdata/Internals.lc 76:28-76:29 V4 | 240 | testdata/Internals.lc 76:28-76:29 V4 |
243 | testdata/Internals.lc 78:1-78:5 Ordering->Bool | 241 | testdata/Internals.lc 78:1-78:5 Ordering->Bool |
244 | testdata/Internals.lc 78:6-78:8 V1 | ||
245 | testdata/Internals.lc 78:6-79:15 Bool | ||
246 | testdata/Internals.lc 78:11-78:15 Bool | 242 | testdata/Internals.lc 78:11-78:15 Bool |
247 | testdata/Internals.lc 78:11-79:15 Bool -> Ordering->Bool | 243 | testdata/Internals.lc 78:11-79:15 Bool -> Ordering->Bool |
248 | testdata/Internals.lc 79:10-79:15 Bool | 244 | testdata/Internals.lc 79:10-79:15 Bool |
@@ -264,43 +260,24 @@ testdata/Internals.lc 85:3-85:9 {a} -> {b : Num a} -> a->a | |||
264 | testdata/Internals.lc 85:13-85:14 Type | 260 | testdata/Internals.lc 85:13-85:14 Type |
265 | testdata/Internals.lc 85:13-85:19 Type | 261 | testdata/Internals.lc 85:13-85:19 Type |
266 | testdata/Internals.lc 85:18-85:19 Type | 262 | testdata/Internals.lc 85:18-85:19 Type |
267 | testdata/Internals.lc 87:14-87:17 Type | 263 | testdata/Internals.lc 88:13-100:25 Int->V2 | {a : Num V0} -> Int->V2 | {a} -> {b : Num a} -> Int->a |
268 | testdata/Internals.lc 87:14-88:20 Int->V2 -> Int->V3 | ||
269 | testdata/Internals.lc 87:14-89:27 (V1 -> V2->Ordering) -> V2 -> V3->Ordering | ||
270 | testdata/Internals.lc 87:14-90:26 V1->V2 -> V2->V3 | ||
271 | testdata/Internals.lc 87:14-99:17 Type | Type->Type | ||
272 | testdata/Internals.lc 87:14-100:25 Int->V2 | {a : Num V0} -> Int->V2 | {a} -> {b : Num a} -> Int->a | ||
273 | testdata/Internals.lc 87:14-101:22 V1 -> V2->Ordering | {a : Num V0} -> V1 -> V2->Ordering | {a} -> {b : Num a} -> a -> a->Ordering | ||
274 | testdata/Internals.lc 87:14-102:22 V1->V2 | {a : Num V0} -> V1->V2 | {a} -> {b : Num a} -> a->a | ||
275 | testdata/Internals.lc 88:19-88:20 V1 | 264 | testdata/Internals.lc 88:19-88:20 V1 |
276 | testdata/Internals.lc 89:13-89:27 Int -> Int->Ordering | 265 | testdata/Internals.lc 89:13-89:27 Int -> Int->Ordering |
266 | testdata/Internals.lc 89:13-101:22 V1 -> V2->Ordering | {a : Num V0} -> V1 -> V2->Ordering | {a} -> {b : Num a} -> a -> a->Ordering | ||
277 | testdata/Internals.lc 90:13-90:26 Int->Int | 267 | testdata/Internals.lc 90:13-90:26 Int->Int |
278 | testdata/Internals.lc 91:14-91:18 Type | 268 | testdata/Internals.lc 90:13-102:22 V1->V2 | {a : Num V0} -> V1->V2 | {a} -> {b : Num a} -> a->a |
279 | testdata/Internals.lc 91:14-92:26 Int->V2 -> Int->V3 | ||
280 | testdata/Internals.lc 91:14-93:28 (V1 -> V2->Ordering) -> V2 -> V3->Ordering | ||
281 | testdata/Internals.lc 91:14-94:27 V1->V2 -> V2->V3 | ||
282 | testdata/Internals.lc 91:14-99:17 Type | ||
283 | testdata/Internals.lc 91:14-100:25 Int->V2 | ||
284 | testdata/Internals.lc 91:14-101:22 V1 -> V2->Ordering | ||
285 | testdata/Internals.lc 91:14-102:22 V1->V2 | ||
286 | testdata/Internals.lc 92:13-92:26 Int->Word | 269 | testdata/Internals.lc 92:13-92:26 Int->Word |
270 | testdata/Internals.lc 92:13-100:25 Int->V2 | ||
287 | testdata/Internals.lc 93:13-93:28 Word -> Word->Ordering | 271 | testdata/Internals.lc 93:13-93:28 Word -> Word->Ordering |
272 | testdata/Internals.lc 93:13-101:22 V1 -> V2->Ordering | ||
288 | testdata/Internals.lc 94:13-94:27 Word->Word | 273 | testdata/Internals.lc 94:13-94:27 Word->Word |
289 | testdata/Internals.lc 95:14-95:19 Type | 274 | testdata/Internals.lc 94:13-102:22 V1->V2 |
290 | testdata/Internals.lc 95:14-96:27 Int->V2 -> Int->V3 | ||
291 | testdata/Internals.lc 95:14-97:29 (V1 -> V2->Ordering) -> V2 -> V3->Ordering | ||
292 | testdata/Internals.lc 95:14-98:28 V1->V2 -> V2->V3 | ||
293 | testdata/Internals.lc 95:14-99:17 Type | ||
294 | testdata/Internals.lc 95:14-100:25 Int->V2 | ||
295 | testdata/Internals.lc 95:14-101:22 V1 -> V2->Ordering | ||
296 | testdata/Internals.lc 95:14-102:22 V1->V2 | ||
297 | testdata/Internals.lc 96:13-96:27 Int->Float | 275 | testdata/Internals.lc 96:13-96:27 Int->Float |
276 | testdata/Internals.lc 96:13-100:25 Int->V2 | ||
298 | testdata/Internals.lc 97:13-97:29 Float -> Float->Ordering | 277 | testdata/Internals.lc 97:13-97:29 Float -> Float->Ordering |
278 | testdata/Internals.lc 97:13-101:22 V1 -> V2->Ordering | ||
299 | testdata/Internals.lc 98:13-98:28 Float->Float | 279 | testdata/Internals.lc 98:13-98:28 Float->Float |
300 | testdata/Internals.lc 99:14-99:17 Type | 280 | testdata/Internals.lc 98:13-102:22 V1->V2 |
301 | testdata/Internals.lc 99:14-100:25 Int->V2 -> Int->V3 | ||
302 | testdata/Internals.lc 99:14-101:22 (V1 -> V2->Ordering) -> V2 -> V3->Ordering | ||
303 | testdata/Internals.lc 99:14-102:22 V1->V2 -> V2->V3 | ||
304 | testdata/Internals.lc 100:13-100:25 Int->Nat | 281 | testdata/Internals.lc 100:13-100:25 Int->Nat |
305 | testdata/Internals.lc 101:13-101:22 {a}->a | 282 | testdata/Internals.lc 101:13-101:22 {a}->a |
306 | testdata/Internals.lc 102:13-102:22 {a}->a | 283 | testdata/Internals.lc 102:13-102:22 {a}->a |
@@ -313,75 +290,46 @@ testdata/Internals.lc 105:13-105:27 Type | |||
313 | testdata/Internals.lc 105:18-105:19 Type | 290 | testdata/Internals.lc 105:18-105:19 Type |
314 | testdata/Internals.lc 105:18-105:27 Type | 291 | testdata/Internals.lc 105:18-105:27 Type |
315 | testdata/Internals.lc 105:23-105:27 Type | 292 | testdata/Internals.lc 105:23-105:27 Type |
316 | testdata/Internals.lc 109:13-109:19 Type | ||
317 | testdata/Internals.lc 109:13-109:63 (V1 -> V2->Bool) -> V2 -> V3->Bool | ||
318 | testdata/Internals.lc 109:13-117:16 Type | Type->Type | ||
319 | testdata/Internals.lc 109:13-120:29 V1 -> V2->Bool | {a : Eq V0} -> V1 -> V2->Bool | {a} -> {b : Eq a} -> a -> a->Bool | ||
320 | testdata/Internals.lc 109:35-109:39 Ordering->Bool | 293 | testdata/Internals.lc 109:35-109:39 Ordering->Bool |
321 | testdata/Internals.lc 109:35-109:63 Bool | 294 | testdata/Internals.lc 109:35-109:63 Bool |
295 | testdata/Internals.lc 109:35-120:29 V1 -> V2->Bool | {a : Eq V0} -> V1 -> V2->Bool | {a} -> {b : Eq a} -> a -> a->Bool | ||
322 | testdata/Internals.lc 109:41-109:58 String -> String->Ordering | 296 | testdata/Internals.lc 109:41-109:58 String -> String->Ordering |
323 | testdata/Internals.lc 109:41-109:60 String->Ordering | 297 | testdata/Internals.lc 109:41-109:60 String->Ordering |
324 | testdata/Internals.lc 109:41-109:62 Ordering | 298 | testdata/Internals.lc 109:41-109:62 Ordering |
325 | testdata/Internals.lc 109:59-109:60 V3 | 299 | testdata/Internals.lc 109:59-109:60 V3 |
326 | testdata/Internals.lc 109:61-109:62 V1 | 300 | testdata/Internals.lc 109:61-109:62 V1 |
327 | testdata/Internals.lc 110:13-110:17 Type | ||
328 | testdata/Internals.lc 110:13-110:59 (V1 -> V2->Bool) -> V2 -> V3->Bool | ||
329 | testdata/Internals.lc 110:13-117:16 Type | ||
330 | testdata/Internals.lc 110:13-120:29 V1 -> V2->Bool | ||
331 | testdata/Internals.lc 110:33-110:37 Ordering->Bool | 301 | testdata/Internals.lc 110:33-110:37 Ordering->Bool |
332 | testdata/Internals.lc 110:33-110:59 Bool | 302 | testdata/Internals.lc 110:33-110:59 Bool |
303 | testdata/Internals.lc 110:33-120:29 V1 -> V2->Bool | ||
333 | testdata/Internals.lc 110:39-110:54 Char -> Char->Ordering | 304 | testdata/Internals.lc 110:39-110:54 Char -> Char->Ordering |
334 | testdata/Internals.lc 110:39-110:56 Char->Ordering | 305 | testdata/Internals.lc 110:39-110:56 Char->Ordering |
335 | testdata/Internals.lc 110:39-110:58 Ordering | 306 | testdata/Internals.lc 110:39-110:58 Ordering |
336 | testdata/Internals.lc 110:55-110:56 V3 | 307 | testdata/Internals.lc 110:55-110:56 V3 |
337 | testdata/Internals.lc 110:57-110:58 V1 | 308 | testdata/Internals.lc 110:57-110:58 V1 |
338 | testdata/Internals.lc 111:13-111:16 Type | ||
339 | testdata/Internals.lc 111:13-111:57 (V1 -> V2->Bool) -> V2 -> V3->Bool | ||
340 | testdata/Internals.lc 111:13-117:16 Type | ||
341 | testdata/Internals.lc 111:13-120:29 V1 -> V2->Bool | ||
342 | testdata/Internals.lc 111:32-111:36 Ordering->Bool | 309 | testdata/Internals.lc 111:32-111:36 Ordering->Bool |
343 | testdata/Internals.lc 111:32-111:57 Bool | 310 | testdata/Internals.lc 111:32-111:57 Bool |
311 | testdata/Internals.lc 111:32-120:29 V1 -> V2->Bool | ||
344 | testdata/Internals.lc 111:38-111:52 Int -> Int->Ordering | 312 | testdata/Internals.lc 111:38-111:52 Int -> Int->Ordering |
345 | testdata/Internals.lc 111:38-111:54 Int->Ordering | 313 | testdata/Internals.lc 111:38-111:54 Int->Ordering |
346 | testdata/Internals.lc 111:38-111:56 Ordering | 314 | testdata/Internals.lc 111:38-111:56 Ordering |
347 | testdata/Internals.lc 111:53-111:54 V3 | 315 | testdata/Internals.lc 111:53-111:54 V3 |
348 | testdata/Internals.lc 111:55-111:56 V1 | 316 | testdata/Internals.lc 111:55-111:56 V1 |
349 | testdata/Internals.lc 112:13-112:18 Type | ||
350 | testdata/Internals.lc 112:13-112:61 (V1 -> V2->Bool) -> V2 -> V3->Bool | ||
351 | testdata/Internals.lc 112:13-117:16 Type | ||
352 | testdata/Internals.lc 112:13-120:29 V1 -> V2->Bool | ||
353 | testdata/Internals.lc 112:34-112:38 Ordering->Bool | 317 | testdata/Internals.lc 112:34-112:38 Ordering->Bool |
354 | testdata/Internals.lc 112:34-112:61 Bool | 318 | testdata/Internals.lc 112:34-112:61 Bool |
319 | testdata/Internals.lc 112:34-120:29 V1 -> V2->Bool | ||
355 | testdata/Internals.lc 112:40-112:56 Float -> Float->Ordering | 320 | testdata/Internals.lc 112:40-112:56 Float -> Float->Ordering |
356 | testdata/Internals.lc 112:40-112:58 Float->Ordering | 321 | testdata/Internals.lc 112:40-112:58 Float->Ordering |
357 | testdata/Internals.lc 112:40-112:60 Ordering | 322 | testdata/Internals.lc 112:40-112:60 Ordering |
358 | testdata/Internals.lc 112:57-112:58 V3 | 323 | testdata/Internals.lc 112:57-112:58 V3 |
359 | testdata/Internals.lc 112:59-112:60 V1 | 324 | testdata/Internals.lc 112:59-112:60 V1 |
360 | testdata/Internals.lc 113:13-113:17 Type | ||
361 | testdata/Internals.lc 113:13-116:19 (V1 -> V2->Bool) -> V2 -> V3->Bool | ||
362 | testdata/Internals.lc 113:13-117:16 Type | ||
363 | testdata/Internals.lc 113:13-120:29 V1 -> V2->Bool | ||
364 | testdata/Internals.lc 114:5-114:9 V2 | ||
365 | testdata/Internals.lc 114:5-116:19 Bool | ||
366 | testdata/Internals.lc 114:13-114:17 Bool | ||
367 | testdata/Internals.lc 114:13-116:19 Bool | ||
368 | testdata/Internals.lc 114:20-114:24 Bool | 325 | testdata/Internals.lc 114:20-114:24 Bool |
369 | testdata/Internals.lc 114:20-116:19 Bool->Bool | 326 | testdata/Internals.lc 114:20-116:19 Bool | Bool->Bool |
370 | testdata/Internals.lc 115:14-115:19 V1 | 327 | testdata/Internals.lc 114:20-120:29 V1 -> V2->Bool |
371 | testdata/Internals.lc 115:14-116:19 Bool | ||
372 | testdata/Internals.lc 115:22-115:26 Bool | 328 | testdata/Internals.lc 115:22-115:26 Bool |
373 | testdata/Internals.lc 115:22-116:19 Bool->Bool | 329 | testdata/Internals.lc 115:22-116:19 Bool | Bool->Bool |
374 | testdata/Internals.lc 116:14-116:19 Bool | 330 | testdata/Internals.lc 116:14-116:19 Bool |
375 | testdata/Internals.lc 117:13-117:16 Type | ||
376 | testdata/Internals.lc 117:13-120:29 (V1 -> V2->Bool) -> V2 -> V3->Bool | ||
377 | testdata/Internals.lc 118:5-118:9 V2 | ||
378 | testdata/Internals.lc 118:5-120:29 Bool | ||
379 | testdata/Internals.lc 118:15-118:19 V1 | ||
380 | testdata/Internals.lc 118:15-120:29 Bool | ||
381 | testdata/Internals.lc 118:24-118:28 Bool | 331 | testdata/Internals.lc 118:24-118:28 Bool |
382 | testdata/Internals.lc 118:24-120:29 Nat->Bool | 332 | testdata/Internals.lc 118:24-120:29 Nat->Bool |
383 | testdata/Internals.lc 119:15-119:19 Nat | ||
384 | testdata/Internals.lc 119:15-120:29 Bool | Nat->Bool | ||
385 | testdata/Internals.lc 119:24-119:25 Nat | 333 | testdata/Internals.lc 119:24-119:25 Nat |
386 | testdata/Internals.lc 119:24-119:28 Nat->Bool | 334 | testdata/Internals.lc 119:24-119:28 Nat->Bool |
387 | testdata/Internals.lc 119:24-119:30 Bool | Nat->Bool | 335 | testdata/Internals.lc 119:24-119:30 Bool | Nat->Bool |
diff --git a/testdata/Material.out b/testdata/Material.out index 816ce7ad..2972a98e 100644 --- a/testdata/Material.out +++ b/testdata/Material.out | |||
@@ -163,7 +163,7 @@ testdata/Material.lc 8:17-8:18 V1 | |||
163 | testdata/Material.lc 10:6-10:12 Type | 163 | testdata/Material.lc 10:6-10:12 Type |
164 | testdata/Material.lc 10:6-11:13 Type | 164 | testdata/Material.lc 10:6-11:13 Type |
165 | testdata/Material.lc 10:6-15:39 Type | 165 | testdata/Material.lc 10:6-15:39 Type |
166 | testdata/Material.lc 11:7-11:13 Entity | Type | V1 | Vec 4 Float -> Vec 4 Float -> Vec 3 Float -> Vec 4 Float -> Entity | 166 | testdata/Material.lc 11:7-11:13 Entity | Type | Vec 4 Float -> Vec 4 Float -> Vec 3 Float -> Vec 4 Float -> Entity |
167 | testdata/Material.lc 12:7-12:20 Entity -> VecS Float 4 | 167 | testdata/Material.lc 12:7-12:20 Entity -> VecS Float 4 |
168 | testdata/Material.lc 12:28-12:31 Nat -> Type->Type | 168 | testdata/Material.lc 12:28-12:31 Nat -> Type->Type |
169 | testdata/Material.lc 12:28-12:33 Type->Type | 169 | testdata/Material.lc 12:28-12:33 Type->Type |
@@ -360,7 +360,7 @@ testdata/Material.lc 127:7-127:15 DepthFunction | |||
360 | testdata/Material.lc 130:6-130:16 Type | 360 | testdata/Material.lc 130:6-130:16 Type |
361 | testdata/Material.lc 130:6-131:17 Type | 361 | testdata/Material.lc 130:6-131:17 Type |
362 | testdata/Material.lc 130:6-144:34 Type | 362 | testdata/Material.lc 130:6-144:34 Type |
363 | testdata/Material.lc 131:7-131:17 Maybe (Blending', Blending') -> RGBGen -> AlphaGen -> TCGen -> List TCMod -> StageTexture -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String->StageAttrs | StageAttrs | Type | V1 | 363 | testdata/Material.lc 131:7-131:17 Maybe (Blending', Blending') -> RGBGen -> AlphaGen -> TCGen -> List TCMod -> StageTexture -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String->StageAttrs | StageAttrs | Type |
364 | testdata/Material.lc 132:7-132:14 StageAttrs -> Maybe (Blending', Blending') | 364 | testdata/Material.lc 132:7-132:14 StageAttrs -> Maybe (Blending', Blending') |
365 | testdata/Material.lc 132:25-132:30 Type->Type | 365 | testdata/Material.lc 132:25-132:30 Type->Type |
366 | testdata/Material.lc 132:25-132:53 Type | 366 | testdata/Material.lc 132:25-132:53 Type |
@@ -419,7 +419,7 @@ testdata/Material.lc 160:27-160:29 String | |||
419 | testdata/Material.lc 163:6-163:17 Type | 419 | testdata/Material.lc 163:6-163:17 Type |
420 | testdata/Material.lc 163:6-164:18 Type | 420 | testdata/Material.lc 163:6-164:18 Type |
421 | testdata/Material.lc 163:6-178:32 Type | 421 | testdata/Material.lc 163:6-178:32 Type |
422 | testdata/Material.lc 164:7-164:18 () -> () -> Bool -> Float -> Bool -> Bool -> CullType -> List Deform -> Bool -> Bool -> List StageAttrs -> Bool->CommonAttrs | CommonAttrs | Type | V1 | 422 | testdata/Material.lc 164:7-164:18 () -> () -> Bool -> Float -> Bool -> Bool -> CullType -> List Deform -> Bool -> Bool -> List StageAttrs -> Bool->CommonAttrs | CommonAttrs | Type |
423 | testdata/Material.lc 165:7-165:17 CommonAttrs->() | 423 | testdata/Material.lc 165:7-165:17 CommonAttrs->() |
424 | testdata/Material.lc 165:28-165:30 Type | 424 | testdata/Material.lc 165:28-165:30 Type |
425 | testdata/Material.lc 166:7-166:17 CommonAttrs->() | 425 | testdata/Material.lc 166:7-166:17 CommonAttrs->() |
diff --git a/testdata/Prelude.out b/testdata/Prelude.out index 89f6b9ac..a5c55c09 100644 --- a/testdata/Prelude.out +++ b/testdata/Prelude.out | |||
@@ -270,8 +270,6 @@ testdata/Prelude.lc 41:21-44:49 List V0 -> List V1 | V0->V1 | |||
270 | testdata/Prelude.lc 42:22-44:49 List V2 | List V2 -> List V2 | V1 -> List V2 -> List V2 | 270 | testdata/Prelude.lc 42:22-44:49 List V2 | List V2 -> List V2 | V1 -> List V2 -> List V2 |
271 | testdata/Prelude.lc 42:27-42:31 V6 | 271 | testdata/Prelude.lc 42:27-42:31 V6 |
272 | testdata/Prelude.lc 42:32-42:33 V5 | 272 | testdata/Prelude.lc 42:32-42:33 V5 |
273 | testdata/Prelude.lc 43:24-43:28 V1 | ||
274 | testdata/Prelude.lc 43:24-44:49 List V4 | ||
275 | testdata/Prelude.lc 43:32-44:49 Bool -> List V6 | 273 | testdata/Prelude.lc 43:32-44:49 Bool -> List V6 |
276 | testdata/Prelude.lc 43:33-43:34 V7 | 274 | testdata/Prelude.lc 43:33-43:34 V7 |
277 | testdata/Prelude.lc 43:33-43:36 List V6 -> List V7 | 275 | testdata/Prelude.lc 43:33-43:36 List V6 -> List V7 |
@@ -291,9 +289,7 @@ testdata/Prelude.lc 49:10-49:11 V1 | |||
291 | testdata/Prelude.lc 49:16-49:19 Type | 289 | testdata/Prelude.lc 49:16-49:19 Type |
292 | testdata/Prelude.lc 49:17-49:18 Type | 290 | testdata/Prelude.lc 49:17-49:18 Type |
293 | testdata/Prelude.lc 50:1-50:5 {a} -> List a -> List a | 291 | testdata/Prelude.lc 50:1-50:5 {a} -> List a -> List a |
294 | testdata/Prelude.lc 50:8-50:9 List V1 | 292 | testdata/Prelude.lc 50:16-50:18 List V0 -> List V1 | List V1 | List V2 -> V2 | List V3 | V1 -> List V2 -> V2 |
295 | testdata/Prelude.lc 50:8-50:18 List V0 -> List V1 | List V1 | ||
296 | testdata/Prelude.lc 50:16-50:18 List V2 -> V2 | List V3 | V1 -> List V2 -> V2 | ||
297 | testdata/Prelude.lc 52:10-52:13 Type | 293 | testdata/Prelude.lc 52:10-52:13 Type |
298 | testdata/Prelude.lc 52:10-52:25 Type | 294 | testdata/Prelude.lc 52:10-52:25 Type |
299 | testdata/Prelude.lc 52:11-52:12 V1 | 295 | testdata/Prelude.lc 52:11-52:12 V1 |
@@ -321,8 +317,6 @@ testdata/Prelude.lc 56:34-56:35 V13 | |||
321 | testdata/Prelude.lc 56:36-56:37 V10 | 317 | testdata/Prelude.lc 56:36-56:37 V10 |
322 | testdata/Prelude.lc 56:39-56:41 List V7 | 318 | testdata/Prelude.lc 56:39-56:41 List V7 |
323 | testdata/Prelude.lc 58:1-58:7 {a} -> (a -> a->a) -> List a -> a | 319 | testdata/Prelude.lc 58:1-58:7 {a} -> (a -> a->a) -> List a -> a |
324 | testdata/Prelude.lc 58:12-58:13 V2 | ||
325 | testdata/Prelude.lc 58:12-58:32 V0 | ||
326 | testdata/Prelude.lc 58:20-58:25 {a} -> {b} -> (b -> a->a) -> a -> List b -> a | 320 | testdata/Prelude.lc 58:20-58:25 {a} -> {b} -> (b -> a->a) -> a -> List b -> a |
327 | testdata/Prelude.lc 58:20-58:27 V1 -> List V1 -> V3 | 321 | testdata/Prelude.lc 58:20-58:27 V1 -> List V1 -> V3 |
328 | testdata/Prelude.lc 58:20-58:29 List V0 -> V5 | 322 | testdata/Prelude.lc 58:20-58:29 List V0 -> V5 |
@@ -349,17 +343,11 @@ testdata/Prelude.lc 61:41-61:43 HList V2 -> V2 | V2 | V2 -> HList V2 -> V2 | V5 | |||
349 | testdata/Prelude.lc 61:47-61:52 V8 | 343 | testdata/Prelude.lc 61:47-61:52 V8 |
350 | testdata/Prelude.lc 61:53-61:55 List V7 | 344 | testdata/Prelude.lc 61:53-61:55 List V7 |
351 | testdata/Prelude.lc 63:1-63:8 {a} -> (a -> a->Ordering) -> List a -> List a -> List a | 345 | testdata/Prelude.lc 63:1-63:8 {a} -> (a -> a->Ordering) -> List a -> List a -> List a |
352 | testdata/Prelude.lc 63:13-63:14 List V0 | ||
353 | testdata/Prelude.lc 63:13-67:21 List V0 | V0->V1 | ||
354 | testdata/Prelude.lc 63:20-63:21 List V2 | ||
355 | testdata/Prelude.lc 63:20-67:21 List V1 -> V4 | List V2 | V0 -> List V1 -> V4 | ||
356 | testdata/Prelude.lc 63:27-65:32 List V1 -> V9 | List V4 | V0 -> List V1 -> V9 | 346 | testdata/Prelude.lc 63:27-65:32 List V1 -> V9 | List V4 | V0 -> List V1 -> V9 |
357 | testdata/Prelude.lc 63:27-67:21 List V2 -> List V3 | 347 | testdata/Prelude.lc 63:27-67:21 List V1 -> V4 | List V2 | List V2 -> List V3 | V0 -> List V1 -> V4 | V0->V1 |
358 | testdata/Prelude.lc 63:32-63:33 V9 | 348 | testdata/Prelude.lc 63:32-63:33 V9 |
359 | testdata/Prelude.lc 63:34-63:35 V7 | 349 | testdata/Prelude.lc 63:34-63:35 V7 |
360 | testdata/Prelude.lc 63:36-63:37 V8 | 350 | testdata/Prelude.lc 63:36-63:37 V8 |
361 | testdata/Prelude.lc 64:5-64:7 V1 | ||
362 | testdata/Prelude.lc 64:5-65:32 List V5 | ||
363 | testdata/Prelude.lc 64:11-64:12 V9 | 351 | testdata/Prelude.lc 64:11-64:12 V9 |
364 | testdata/Prelude.lc 64:11-64:13 List V8 -> List V9 | 352 | testdata/Prelude.lc 64:11-64:13 List V8 -> List V9 |
365 | testdata/Prelude.lc 64:11-64:33 List V7 | 353 | testdata/Prelude.lc 64:11-64:33 List V7 |
@@ -438,14 +426,10 @@ testdata/Prelude.lc 76:1-76:4 {a} -> {b} -> (a, b)->a | |||
438 | testdata/Prelude.lc 76:14-76:15 HList V2 -> V2 | V10 | V2 -> HList V2 -> V2 | V3 | V7 | 426 | testdata/Prelude.lc 76:14-76:15 HList V2 -> V2 | V10 | V2 -> HList V2 -> V2 | V3 | V7 |
439 | testdata/Prelude.lc 77:1-77:4 {a} -> {b} -> (a, b)->b | 427 | testdata/Prelude.lc 77:1-77:4 {a} -> {b} -> (a, b)->b |
440 | testdata/Prelude.lc 77:14-77:15 HList V2 -> V2 | V2 | V2 -> HList V2 -> V2 | V5 | 428 | testdata/Prelude.lc 77:14-77:15 HList V2 -> V2 | V2 | V2 -> HList V2 -> V2 | V5 |
441 | testdata/Prelude.lc 79:1-79:6 V2 | ||
442 | testdata/Prelude.lc 79:1-80:18 Bool | ||
443 | testdata/Prelude.lc 79:7-79:10 Bool -> Bool->Bool | 429 | testdata/Prelude.lc 79:7-79:10 Bool -> Bool->Bool |
444 | testdata/Prelude.lc 79:15-79:16 V2 | 430 | testdata/Prelude.lc 79:15-79:16 V2 |
445 | testdata/Prelude.lc 79:15-80:18 Bool->Bool | 431 | testdata/Prelude.lc 79:15-80:18 Bool->Bool |
446 | testdata/Prelude.lc 80:14-80:18 Bool | 432 | testdata/Prelude.lc 80:14-80:18 Bool |
447 | testdata/Prelude.lc 84:1-84:5 V2 | ||
448 | testdata/Prelude.lc 84:1-85:20 Bool | ||
449 | testdata/Prelude.lc 84:6-84:9 Bool -> Bool->Bool | 433 | testdata/Prelude.lc 84:6-84:9 Bool -> Bool->Bool |
450 | testdata/Prelude.lc 84:14-84:15 V1 | 434 | testdata/Prelude.lc 84:14-84:15 V1 |
451 | testdata/Prelude.lc 84:14-85:20 Bool->Bool | 435 | testdata/Prelude.lc 84:14-85:20 Bool->Bool |
@@ -457,8 +441,6 @@ testdata/Prelude.lc 122:16-122:23 RecItem | String -> Type->RecItem | Type | |||
457 | testdata/Prelude.lc 122:24-122:30 Type | 441 | testdata/Prelude.lc 122:24-122:30 Type |
458 | testdata/Prelude.lc 122:31-122:35 Type | 442 | testdata/Prelude.lc 122:31-122:35 Type |
459 | testdata/Prelude.lc 124:1-124:12 RecItem->Type | 443 | testdata/Prelude.lc 124:1-124:12 RecItem->Type |
460 | testdata/Prelude.lc 124:14-124:21 V1 | ||
461 | testdata/Prelude.lc 124:14-124:30 Type | ||
462 | testdata/Prelude.lc 124:29-124:30 String -> Type->V2 | Type | Type->V2 | 444 | testdata/Prelude.lc 124:29-124:30 String -> Type->V2 | Type | Type->V2 |
463 | testdata/Prelude.lc 126:6-126:13 List RecItem -> Type | Type | 445 | testdata/Prelude.lc 126:6-126:13 List RecItem -> Type | Type |
464 | testdata/Prelude.lc 126:6-127:17 Type | 446 | testdata/Prelude.lc 126:6-127:17 Type |
@@ -495,12 +477,8 @@ testdata/Prelude.lc 130:69-130:70 String | |||
495 | testdata/Prelude.lc 130:71-130:72 Type | 477 | testdata/Prelude.lc 130:71-130:72 Type |
496 | testdata/Prelude.lc 130:73-130:75 List V8 | 478 | testdata/Prelude.lc 130:73-130:75 List V8 |
497 | testdata/Prelude.lc 132:1-132:7 {a} -> {b : List Type} -> HList ('Cons a b) -> a | 479 | testdata/Prelude.lc 132:1-132:7 {a} -> {b : List Type} -> HList ('Cons a b) -> a |
498 | testdata/Prelude.lc 132:9-132:14 V3 | ||
499 | testdata/Prelude.lc 132:9-132:23 V1 | ||
500 | testdata/Prelude.lc 132:22-132:23 HList V2 -> V2 | V2 -> HList V2 -> V2 | V4 | 480 | testdata/Prelude.lc 132:22-132:23 HList V2 -> V2 | V2 -> HList V2 -> V2 | V4 |
501 | testdata/Prelude.lc 133:1-133:7 {a} -> {b : List Type} -> HList ('Cons a b) -> HList b | 481 | testdata/Prelude.lc 133:1-133:7 {a} -> {b : List Type} -> HList ('Cons a b) -> HList b |
502 | testdata/Prelude.lc 133:9-133:14 V3 | ||
503 | testdata/Prelude.lc 133:9-133:23 HList V0 | ||
504 | testdata/Prelude.lc 133:22-133:23 HList V2 -> V2 | HList V3 | V2 -> HList V2 -> V2 | 482 | testdata/Prelude.lc 133:22-133:23 HList V2 -> V2 | HList V3 | V2 -> HList V2 -> V2 |
505 | testdata/Prelude.lc 136:12-138:181 V0->V1 | {a} -> {b : List RecItem} -> c:String -> {d : 'isKeyC c a b} -> RecordC b -> a | 483 | testdata/Prelude.lc 136:12-138:181 V0->V1 | {a} -> {b : List RecItem} -> c:String -> {d : 'isKeyC c a b} -> RecordC b -> a |
506 | testdata/Prelude.lc 136:28-136:37 Type | 484 | testdata/Prelude.lc 136:28-136:37 Type |
@@ -522,14 +500,10 @@ testdata/Prelude.lc 136:82-136:97 Type | |||
522 | testdata/Prelude.lc 136:90-136:92 List RecItem | 500 | testdata/Prelude.lc 136:90-136:92 List RecItem |
523 | testdata/Prelude.lc 136:96-136:97 Type | 501 | testdata/Prelude.lc 136:96-136:97 Type |
524 | testdata/Prelude.lc 137:1-137:8 {a} -> {b : List RecItem} -> c:String -> {d : 'isKeyC c a b} -> RecordC b -> a | 502 | testdata/Prelude.lc 137:1-137:8 {a} -> {b : List RecItem} -> c:String -> {d : 'isKeyC c a b} -> RecordC b -> a |
525 | testdata/Prelude.lc 137:28-137:29 List RecItem | ||
526 | testdata/Prelude.lc 137:28-138:181 RecordC V2 -> V4 | V4 | a:String -> {b : 'isKeyC a V2 V1} -> RecordC V2 -> V4 | {a : 'isKeyC V0 V2 V1} -> RecordC V2 -> V4 | {a : List RecItem} -> b:String -> {c : 'isKeyC b V2 a} -> RecordC a -> V4 | {a} -> {b : List RecItem} -> c:String -> {d : 'isKeyC c a b} -> RecordC b -> a | ||
527 | testdata/Prelude.lc 137:40-137:50 RecordC V9 | ||
528 | testdata/Prelude.lc 137:40-138:181 List V2 -> V2 | String -> Type->V2 | Type->V2 | V1 -> List V2 -> V2 | V6 | V9 | ||
529 | testdata/Prelude.lc 137:57-137:58 String | 503 | testdata/Prelude.lc 137:57-137:58 String |
530 | testdata/Prelude.lc 137:57-137:61 String->Bool | 504 | testdata/Prelude.lc 137:57-137:61 String->Bool |
531 | testdata/Prelude.lc 137:57-137:64 Bool | 505 | testdata/Prelude.lc 137:57-137:64 Bool |
532 | testdata/Prelude.lc 137:57-138:181 HList ('map RecItem Type 'recItemType V1) -> V1 | V12 | 506 | testdata/Prelude.lc 137:57-138:181 HList ('map RecItem Type 'recItemType V1) -> V1 | List V2 -> V2 | RecordC V2 -> V4 | String -> Type->V2 | Type->V2 | V1 -> List V2 -> V2 | V12 | V4 | V6 | V9 | a:String -> {b : 'isKeyC a V2 V1} -> RecordC V2 -> V4 | {a : 'isKeyC V0 V2 V1} -> RecordC V2 -> V4 | {a : List RecItem} -> b:String -> {c : 'isKeyC b V2 a} -> RecordC a -> V4 | {a} -> {b : List RecItem} -> c:String -> {d : 'isKeyC c a b} -> RecordC b -> a |
533 | testdata/Prelude.lc 137:59-137:61 {a} -> {b : Eq a} -> a -> a->Bool | 507 | testdata/Prelude.lc 137:59-137:61 {a} -> {b : Eq a} -> a -> a->Bool |
534 | testdata/Prelude.lc 137:62-137:64 String | 508 | testdata/Prelude.lc 137:62-137:64 String |
535 | testdata/Prelude.lc 137:67-137:73 {a} -> {b : List Type} -> HList ('Cons a b) -> a | 509 | testdata/Prelude.lc 137:67-137:73 {a} -> {b : List Type} -> HList ('Cons a b) -> a |
@@ -1595,11 +1569,9 @@ testdata/Prelude.lc 387:10-387:11 V1 | |||
1595 | testdata/Prelude.lc 387:16-387:19 Type | 1569 | testdata/Prelude.lc 387:16-387:19 Type |
1596 | testdata/Prelude.lc 387:16-387:24 Type | 1570 | testdata/Prelude.lc 387:16-387:24 Type |
1597 | testdata/Prelude.lc 387:23-387:24 Type | 1571 | testdata/Prelude.lc 387:23-387:24 Type |
1598 | testdata/Prelude.lc 388:4-388:5 List V2 | ||
1599 | testdata/Prelude.lc 388:4-389:30 Int->V2 | List V0 -> Int->V2 | V2 | ||
1600 | testdata/Prelude.lc 388:10-388:12 {a} -> List a -> Int->a | 1572 | testdata/Prelude.lc 388:10-388:12 {a} -> List a -> Int->a |
1601 | testdata/Prelude.lc 388:19-388:20 V3 | 1573 | testdata/Prelude.lc 388:19-388:20 V3 |
1602 | testdata/Prelude.lc 388:19-389:30 Bool->V4 | List V2 -> V2 | V1 -> List V2 -> V2 | V2 | 1574 | testdata/Prelude.lc 388:19-389:30 Bool->V4 | Int->V2 | List V0 -> Int->V2 | List V2 -> V2 | V1 -> List V2 -> V2 | V2 |
1603 | testdata/Prelude.lc 389:19-389:21 List V5 | 1575 | testdata/Prelude.lc 389:19-389:21 List V5 |
1604 | testdata/Prelude.lc 389:19-389:24 Int->V5 | 1576 | testdata/Prelude.lc 389:19-389:24 Int->V5 |
1605 | testdata/Prelude.lc 389:19-389:30 V3 | 1577 | testdata/Prelude.lc 389:19-389:30 V3 |
diff --git a/testdata/complex.out b/testdata/complex.out index 16af3496..4fcc18c8 100644 --- a/testdata/complex.out +++ b/testdata/complex.out | |||
@@ -77,13 +77,9 @@ testdata/complex.lc 18:20-18:38 Type | |||
77 | testdata/complex.lc 18:28-18:29 V1 | 77 | testdata/complex.lc 18:28-18:29 V1 |
78 | testdata/complex.lc 18:33-18:38 Type | 78 | testdata/complex.lc 18:33-18:38 Type |
79 | testdata/complex.lc 19:1-19:5 {a:Repr} -> Complex a -> Float | 79 | testdata/complex.lc 19:1-19:5 {a:Repr} -> Complex a -> Float |
80 | testdata/complex.lc 19:7-19:14 Repr | ||
81 | testdata/complex.lc 19:7-20:35 Complex V0 -> Float | Float | {a:Repr} -> Complex a -> Float | ||
82 | testdata/complex.lc 19:16-19:23 Complex V3 | ||
83 | testdata/complex.lc 19:16-19:50 Float | ||
84 | testdata/complex.lc 19:16-20:35 Repr->Float | ||
85 | testdata/complex.lc 19:34-19:38 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a | 80 | testdata/complex.lc 19:34-19:38 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a |
86 | testdata/complex.lc 19:34-19:50 Float -> Float->V3 | Float->V3 | VecScalar 1 Float | 81 | testdata/complex.lc 19:34-19:50 Float | Float -> Float->V3 | Float->V3 | VecScalar 1 Float |
82 | testdata/complex.lc 19:34-20:35 Complex V0 -> Float | Float | Repr->Float | {a:Repr} -> Complex a -> Float | ||
87 | testdata/complex.lc 19:40-19:41 Float | 83 | testdata/complex.lc 19:40-19:41 Float |
88 | testdata/complex.lc 19:40-19:42 Float->Float | 84 | testdata/complex.lc 19:40-19:42 Float->Float |
89 | testdata/complex.lc 19:40-19:43 Float | 85 | testdata/complex.lc 19:40-19:43 Float |
@@ -97,8 +93,6 @@ testdata/complex.lc 19:46-19:48 Float->Float | |||
97 | testdata/complex.lc 19:46-19:49 Float | 93 | testdata/complex.lc 19:46-19:49 Float |
98 | testdata/complex.lc 19:47-19:48 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a | 94 | testdata/complex.lc 19:47-19:48 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a |
99 | testdata/complex.lc 19:48-19:49 Float | 95 | testdata/complex.lc 19:48-19:49 Float |
100 | testdata/complex.lc 20:16-20:23 Complex V2 | ||
101 | testdata/complex.lc 20:16-20:35 Float | ||
102 | testdata/complex.lc 20:34-20:35 Float | Float -> Float->V3 | Float->V3 | 96 | testdata/complex.lc 20:34-20:35 Float | Float -> Float->V3 | Float->V3 |
103 | testdata/complex.lc 22:12-22:19 Repr->Type | 97 | testdata/complex.lc 22:12-22:19 Repr->Type |
104 | testdata/complex.lc 22:12-22:26 Type | 98 | testdata/complex.lc 22:12-22:26 Type |
@@ -107,10 +101,8 @@ testdata/complex.lc 22:30-22:37 Repr->Type | |||
107 | testdata/complex.lc 22:30-22:43 Type | 101 | testdata/complex.lc 22:30-22:43 Type |
108 | testdata/complex.lc 22:38-22:43 Repr | 102 | testdata/complex.lc 22:38-22:43 Repr |
109 | testdata/complex.lc 23:1-23:8 Complex 'Normal -> Complex 'Polar | 103 | testdata/complex.lc 23:1-23:8 Complex 'Normal -> Complex 'Polar |
110 | testdata/complex.lc 23:10-23:17 Complex 'Normal | ||
111 | testdata/complex.lc 23:10-31:25 Complex 'Normal -> Complex 'Polar | Complex 'Polar | ||
112 | testdata/complex.lc 24:8-29:17 Complex 'Polar | 104 | testdata/complex.lc 24:8-29:17 Complex 'Polar |
113 | testdata/complex.lc 24:8-31:25 Float -> Float->V3 | Float->V3 | 105 | testdata/complex.lc 24:8-31:25 Complex 'Normal -> Complex 'Polar | Complex 'Polar | Float -> Float->V3 | Float->V3 |
114 | testdata/complex.lc 24:11-24:12 Float | 106 | testdata/complex.lc 24:11-24:12 Float |
115 | testdata/complex.lc 24:11-24:14 VecScalar 1 Float -> VecScalar 1 Bool | 107 | testdata/complex.lc 24:11-24:14 VecScalar 1 Float -> VecScalar 1 Bool |
116 | testdata/complex.lc 24:11-24:19 VecScalar 1 Bool | 108 | testdata/complex.lc 24:11-24:19 VecScalar 1 Bool |
@@ -261,11 +253,9 @@ testdata/complex.lc 64:30-64:37 Repr->Type | |||
261 | testdata/complex.lc 64:30-64:44 Type | 253 | testdata/complex.lc 64:30-64:44 Type |
262 | testdata/complex.lc 64:38-64:44 Repr | 254 | testdata/complex.lc 64:38-64:44 Repr |
263 | testdata/complex.lc 65:1-65:9 Complex 'Polar -> Complex 'Normal | 255 | testdata/complex.lc 65:1-65:9 Complex 'Polar -> Complex 'Normal |
264 | testdata/complex.lc 65:11-65:18 Complex 'Polar | ||
265 | testdata/complex.lc 65:11-65:63 Complex 'Polar -> Complex 'Normal | Complex V0 | ||
266 | testdata/complex.lc 65:28-65:35 {a:Repr} -> Float -> Float -> Complex a | 256 | testdata/complex.lc 65:28-65:35 {a:Repr} -> Float -> Float -> Complex a |
267 | testdata/complex.lc 65:28-65:49 Float -> Complex V1 | 257 | testdata/complex.lc 65:28-65:49 Float -> Complex V1 |
268 | testdata/complex.lc 65:28-65:63 Complex V0 | Float -> Float->V3 | Float->V3 | 258 | testdata/complex.lc 65:28-65:63 Complex 'Polar -> Complex 'Normal | Complex V0 | Float -> Float->V3 | Float->V3 |
269 | testdata/complex.lc 65:37-65:38 Float | 259 | testdata/complex.lc 65:37-65:38 Float |
270 | testdata/complex.lc 65:37-65:40 Float->Float | 260 | testdata/complex.lc 65:37-65:40 Float->Float |
271 | testdata/complex.lc 65:37-65:48 Float | 261 | testdata/complex.lc 65:37-65:48 Float |
@@ -281,8 +271,6 @@ testdata/complex.lc 65:55-65:58 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} - | |||
281 | testdata/complex.lc 65:55-65:62 VecScalar 1 Float | 271 | testdata/complex.lc 65:55-65:62 VecScalar 1 Float |
282 | testdata/complex.lc 65:59-65:62 Float | 272 | testdata/complex.lc 65:59-65:62 Float |
283 | testdata/complex.lc 111:1-111:15 {a:Repr} -> Complex a -> Float | 273 | testdata/complex.lc 111:1-111:15 {a:Repr} -> Complex a -> Float |
284 | testdata/complex.lc 111:17-111:24 V2 | ||
285 | testdata/complex.lc 111:17-111:39 Float | ||
286 | testdata/complex.lc 111:38-111:39 Float | Float -> Float->V3 | Float->V3 | 274 | testdata/complex.lc 111:38-111:39 Float | Float -> Float->V3 | Float->V3 |
287 | testdata/complex.lc 113:20-113:70 Type | 275 | testdata/complex.lc 113:20-113:70 Type |
288 | testdata/complex.lc 113:32-113:39 Repr->Type | 276 | testdata/complex.lc 113:32-113:39 Repr->Type |
@@ -297,17 +285,9 @@ testdata/complex.lc 113:60-113:67 Repr->Type | |||
297 | testdata/complex.lc 113:60-113:70 Type | 285 | testdata/complex.lc 113:60-113:70 Type |
298 | testdata/complex.lc 113:68-113:70 Repr | 286 | testdata/complex.lc 113:68-113:70 Repr |
299 | testdata/complex.lc 114:1-114:4 {a:Repr} -> {b:Repr} -> Complex a -> Complex b -> Complex a | 287 | testdata/complex.lc 114:1-114:4 {a:Repr} -> {b:Repr} -> Complex a -> Complex b -> Complex a |
300 | testdata/complex.lc 114:6-114:13 Repr | ||
301 | testdata/complex.lc 114:6-114:76 Complex V1 -> Complex V1 -> Complex V3 | Complex V1 -> Complex V3 | Complex V3 | {a:Repr} -> Complex V1 -> Complex a -> Complex V3 | {a:Repr} -> {b:Repr} -> Complex a -> Complex b -> Complex a | ||
302 | testdata/complex.lc 114:15-114:22 Repr | ||
303 | testdata/complex.lc 114:15-114:76 Complex V0 | ||
304 | testdata/complex.lc 114:24-114:31 Complex V7 | ||
305 | testdata/complex.lc 114:24-114:76 Complex V0 | ||
306 | testdata/complex.lc 114:38-114:45 Complex V10 | ||
307 | testdata/complex.lc 114:38-114:76 Complex V0 | Float -> Float->V3 | Float->V3 | ||
308 | testdata/complex.lc 114:53-114:60 {a:Repr} -> Float -> Float -> Complex a | 288 | testdata/complex.lc 114:53-114:60 {a:Repr} -> Float -> Float -> Complex a |
309 | testdata/complex.lc 114:53-114:68 Float -> Complex V1 | 289 | testdata/complex.lc 114:53-114:68 Float -> Complex V1 |
310 | testdata/complex.lc 114:53-114:76 Complex V0 | Float -> Float->V3 | Float->V3 | 290 | testdata/complex.lc 114:53-114:76 Complex V0 | Complex V1 -> Complex V1 -> Complex V3 | Complex V1 -> Complex V3 | Complex V3 | Float -> Float->V3 | Float->V3 | {a:Repr} -> Complex V1 -> Complex a -> Complex V3 | {a:Repr} -> {b:Repr} -> Complex a -> Complex b -> Complex a |
311 | testdata/complex.lc 114:62-114:63 Float | 291 | testdata/complex.lc 114:62-114:63 Float |
312 | testdata/complex.lc 114:62-114:65 Float->Float | 292 | testdata/complex.lc 114:62-114:65 Float->Float |
313 | testdata/complex.lc 114:62-114:67 Float | 293 | testdata/complex.lc 114:62-114:67 Float |
@@ -330,17 +310,9 @@ testdata/complex.lc 128:51-128:58 Repr->Type | |||
330 | testdata/complex.lc 128:51-128:61 Type | 310 | testdata/complex.lc 128:51-128:61 Type |
331 | testdata/complex.lc 128:59-128:61 Repr | 311 | testdata/complex.lc 128:59-128:61 Repr |
332 | testdata/complex.lc 129:1-129:4 {a:Repr} -> {b:Repr} -> Complex a -> Complex b -> Complex a | 312 | testdata/complex.lc 129:1-129:4 {a:Repr} -> {b:Repr} -> Complex a -> Complex b -> Complex a |
333 | testdata/complex.lc 129:6-129:13 Repr | ||
334 | testdata/complex.lc 129:6-129:84 Complex V1 -> Complex V1 -> Complex V3 | Complex V1 -> Complex V3 | Complex V3 | {a:Repr} -> Complex V1 -> Complex a -> Complex V3 | {a:Repr} -> {b:Repr} -> Complex a -> Complex b -> Complex a | ||
335 | testdata/complex.lc 129:15-129:22 Repr | ||
336 | testdata/complex.lc 129:15-129:84 Complex V0 | ||
337 | testdata/complex.lc 129:24-129:31 Complex V7 | ||
338 | testdata/complex.lc 129:24-129:84 Complex V0 | ||
339 | testdata/complex.lc 129:38-129:45 Complex V10 | ||
340 | testdata/complex.lc 129:38-129:84 Complex V0 | Float -> Float->V3 | Float->V3 | ||
341 | testdata/complex.lc 129:53-129:60 {a:Repr} -> Float -> Float -> Complex a | 313 | testdata/complex.lc 129:53-129:60 {a:Repr} -> Float -> Float -> Complex a |
342 | testdata/complex.lc 129:53-129:72 Float -> Complex V1 | 314 | testdata/complex.lc 129:53-129:72 Float -> Complex V1 |
343 | testdata/complex.lc 129:53-129:84 Complex V0 | Float -> Float->V3 | Float->V3 | 315 | testdata/complex.lc 129:53-129:84 Complex V0 | Complex V1 -> Complex V1 -> Complex V3 | Complex V1 -> Complex V3 | Complex V3 | Float -> Float->V3 | Float->V3 | {a:Repr} -> Complex V1 -> Complex a -> Complex V3 | {a:Repr} -> {b:Repr} -> Complex a -> Complex b -> Complex a |
344 | testdata/complex.lc 129:62-129:63 Float | 316 | testdata/complex.lc 129:62-129:63 Float |
345 | testdata/complex.lc 129:62-129:64 Float->Float | 317 | testdata/complex.lc 129:62-129:64 Float->Float |
346 | testdata/complex.lc 129:62-129:65 Float | 318 | testdata/complex.lc 129:62-129:65 Float |
diff --git a/testdata/data.out b/testdata/data.out index 235e193c..5ad6b9d7 100644 --- a/testdata/data.out +++ b/testdata/data.out | |||
@@ -42,7 +42,7 @@ testdata/data.lc 5:6-6:39 Type | |||
42 | testdata/data.lc 5:6-8:20 Type | 42 | testdata/data.lc 5:6-8:20 Type |
43 | testdata/data.lc 5:14-5:20 Data2 | Int->Data2 | Type | 43 | testdata/data.lc 5:14-5:20 Data2 | Int->Data2 | Type |
44 | testdata/data.lc 5:21-5:24 Type | 44 | testdata/data.lc 5:21-5:24 Type |
45 | testdata/data.lc 6:14-6:20 Data2 | Int -> Int->Data2 | Type | V1 | 45 | testdata/data.lc 6:14-6:20 Data2 | Int -> Int->Data2 | Type |
46 | testdata/data.lc 6:23-6:24 Data2->Int | 46 | testdata/data.lc 6:23-6:24 Data2->Int |
47 | testdata/data.lc 6:28-6:31 Type | 47 | testdata/data.lc 6:28-6:31 Type |
48 | testdata/data.lc 6:33-6:34 Data2->Int | 48 | testdata/data.lc 6:33-6:34 Data2->Int |
@@ -55,10 +55,10 @@ testdata/data.lc 10:6-10:38 Type | |||
55 | testdata/data.lc 10:6-11:54 Type | 55 | testdata/data.lc 10:6-11:54 Type |
56 | testdata/data.lc 10:6-12:29 Type | 56 | testdata/data.lc 10:6-12:29 Type |
57 | testdata/data.lc 10:6-12:48 Type | 57 | testdata/data.lc 10:6-12:48 Type |
58 | testdata/data.lc 10:23-10:29 Data5 V4 V3 V2 | Type | V4 | {a} -> {b} -> {c} -> a -> Data5 a b c | 58 | testdata/data.lc 10:23-10:29 Data5 V4 V3 V2 | Type | {a} -> {b} -> {c} -> a -> Data5 a b c |
59 | testdata/data.lc 10:32-10:34 {a} -> {b} -> {c} -> Data5 a b c -> a | 59 | testdata/data.lc 10:32-10:34 {a} -> {b} -> {c} -> Data5 a b c -> a |
60 | testdata/data.lc 10:36-10:38 Type | 60 | testdata/data.lc 10:36-10:38 Type |
61 | testdata/data.lc 11:23-11:29 Data5 V7 V6 V5 | Type | V4 | {a} -> {b} -> {c} -> a -> b -> c -> Data5 a b c | 61 | testdata/data.lc 11:23-11:29 Data5 V7 V6 V5 | Type | {a} -> {b} -> {c} -> a -> b -> c -> Data5 a b c |
62 | testdata/data.lc 11:36-11:38 Type | 62 | testdata/data.lc 11:36-11:38 Type |
63 | testdata/data.lc 11:40-11:42 {a} -> {b} -> {c} -> Data5 a b c -> b | 63 | testdata/data.lc 11:40-11:42 {a} -> {b} -> {c} -> Data5 a b c -> b |
64 | testdata/data.lc 11:44-11:46 Type | 64 | testdata/data.lc 11:44-11:46 Type |
diff --git a/testdata/performance/Material.out b/testdata/performance/Material.out index b67330c2..e7de752a 100644 --- a/testdata/performance/Material.out +++ b/testdata/performance/Material.out | |||
@@ -163,7 +163,7 @@ testdata/performance/Material.lc 8:17-8:18 V1 | |||
163 | testdata/performance/Material.lc 10:6-10:12 Type | 163 | testdata/performance/Material.lc 10:6-10:12 Type |
164 | testdata/performance/Material.lc 10:6-11:13 Type | 164 | testdata/performance/Material.lc 10:6-11:13 Type |
165 | testdata/performance/Material.lc 10:6-15:39 Type | 165 | testdata/performance/Material.lc 10:6-15:39 Type |
166 | testdata/performance/Material.lc 11:7-11:13 Entity | Type | V1 | Vec 4 Float -> Vec 4 Float -> Vec 3 Float -> Vec 4 Float -> Entity | 166 | testdata/performance/Material.lc 11:7-11:13 Entity | Type | Vec 4 Float -> Vec 4 Float -> Vec 3 Float -> Vec 4 Float -> Entity |
167 | testdata/performance/Material.lc 12:7-12:20 Entity -> VecS Float 4 | 167 | testdata/performance/Material.lc 12:7-12:20 Entity -> VecS Float 4 |
168 | testdata/performance/Material.lc 12:28-12:31 Nat -> Type->Type | 168 | testdata/performance/Material.lc 12:28-12:31 Nat -> Type->Type |
169 | testdata/performance/Material.lc 12:28-12:33 Type->Type | 169 | testdata/performance/Material.lc 12:28-12:33 Type->Type |
@@ -360,7 +360,7 @@ testdata/performance/Material.lc 127:7-127:15 DepthFunction | |||
360 | testdata/performance/Material.lc 130:6-130:16 Type | 360 | testdata/performance/Material.lc 130:6-130:16 Type |
361 | testdata/performance/Material.lc 130:6-131:17 Type | 361 | testdata/performance/Material.lc 130:6-131:17 Type |
362 | testdata/performance/Material.lc 130:6-144:34 Type | 362 | testdata/performance/Material.lc 130:6-144:34 Type |
363 | testdata/performance/Material.lc 131:7-131:17 Maybe (Blending', Blending') -> RGBGen -> AlphaGen -> TCGen -> List TCMod -> StageTexture -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String->StageAttrs | StageAttrs | Type | V1 | 363 | testdata/performance/Material.lc 131:7-131:17 Maybe (Blending', Blending') -> RGBGen -> AlphaGen -> TCGen -> List TCMod -> StageTexture -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String->StageAttrs | StageAttrs | Type |
364 | testdata/performance/Material.lc 132:7-132:14 StageAttrs -> Maybe (Blending', Blending') | 364 | testdata/performance/Material.lc 132:7-132:14 StageAttrs -> Maybe (Blending', Blending') |
365 | testdata/performance/Material.lc 132:25-132:30 Type->Type | 365 | testdata/performance/Material.lc 132:25-132:30 Type->Type |
366 | testdata/performance/Material.lc 132:25-132:53 Type | 366 | testdata/performance/Material.lc 132:25-132:53 Type |
@@ -419,7 +419,7 @@ testdata/performance/Material.lc 160:27-160:29 String | |||
419 | testdata/performance/Material.lc 163:6-163:17 Type | 419 | testdata/performance/Material.lc 163:6-163:17 Type |
420 | testdata/performance/Material.lc 163:6-164:18 Type | 420 | testdata/performance/Material.lc 163:6-164:18 Type |
421 | testdata/performance/Material.lc 163:6-178:32 Type | 421 | testdata/performance/Material.lc 163:6-178:32 Type |
422 | testdata/performance/Material.lc 164:7-164:18 () -> () -> Bool -> Float -> Bool -> Bool -> CullType -> List Deform -> Bool -> Bool -> List StageAttrs -> Bool->CommonAttrs | CommonAttrs | Type | V1 | 422 | testdata/performance/Material.lc 164:7-164:18 () -> () -> Bool -> Float -> Bool -> Bool -> CullType -> List Deform -> Bool -> Bool -> List StageAttrs -> Bool->CommonAttrs | CommonAttrs | Type |
423 | testdata/performance/Material.lc 165:7-165:17 CommonAttrs->() | 423 | testdata/performance/Material.lc 165:7-165:17 CommonAttrs->() |
424 | testdata/performance/Material.lc 165:28-165:30 Type | 424 | testdata/performance/Material.lc 165:28-165:30 Type |
425 | testdata/performance/Material.lc 166:7-166:17 CommonAttrs->() | 425 | testdata/performance/Material.lc 166:7-166:17 CommonAttrs->() |
diff --git a/testdata/typeclass.out b/testdata/typeclass.out index 63f5f771..8eb6907a 100644 --- a/testdata/typeclass.out +++ b/testdata/typeclass.out | |||
@@ -8,19 +8,13 @@ not :: [32m'Bool->'Bool[39m[K | |||
8 | /= :: [32m{a} -> {b : 'Eq a} -> a -> a->'Bool[39m[K | 8 | /= :: [32m{a} -> {b : 'Eq a} -> a -> a->'Bool[39m[K |
9 | ------------ tooltips | 9 | ------------ tooltips |
10 | testdata/typeclass.lc 8:1-8:4 Bool->Bool | 10 | testdata/typeclass.lc 8:1-8:4 Bool->Bool |
11 | testdata/typeclass.lc 8:5-8:9 V1 | ||
12 | testdata/typeclass.lc 8:5-9:17 Bool | ||
13 | testdata/typeclass.lc 8:12-8:17 Bool | 11 | testdata/typeclass.lc 8:12-8:17 Bool |
14 | testdata/typeclass.lc 8:12-9:17 Bool->Bool | 12 | testdata/typeclass.lc 8:12-9:17 Bool->Bool |
15 | testdata/typeclass.lc 9:13-9:17 Bool | 13 | testdata/typeclass.lc 9:13-9:17 Bool |
16 | testdata/typeclass.lc 11:1-11:5 V2 | ||
17 | testdata/typeclass.lc 11:1-12:19 Bool | ||
18 | testdata/typeclass.lc 11:6-11:8 Bool -> Bool->Bool | 14 | testdata/typeclass.lc 11:6-11:8 Bool -> Bool->Bool |
19 | testdata/typeclass.lc 11:13-11:14 V1 | 15 | testdata/typeclass.lc 11:13-11:14 V1 |
20 | testdata/typeclass.lc 11:13-12:19 Bool->Bool | 16 | testdata/typeclass.lc 11:13-12:19 Bool->Bool |
21 | testdata/typeclass.lc 12:14-12:19 Bool | 17 | testdata/typeclass.lc 12:14-12:19 Bool |
22 | testdata/typeclass.lc 14:1-14:6 V2 | ||
23 | testdata/typeclass.lc 14:1-15:17 Bool | ||
24 | testdata/typeclass.lc 14:7-14:9 Bool -> Bool->Bool | 18 | testdata/typeclass.lc 14:7-14:9 Bool -> Bool->Bool |
25 | testdata/typeclass.lc 14:14-14:15 V2 | 19 | testdata/typeclass.lc 14:14-14:15 V2 |
26 | testdata/typeclass.lc 14:14-15:17 Bool->Bool | 20 | testdata/typeclass.lc 14:14-15:17 Bool->Bool |
@@ -41,12 +35,8 @@ testdata/typeclass.lc 20:15-20:19 V4->Bool | |||
41 | testdata/typeclass.lc 20:15-20:21 Bool | 35 | testdata/typeclass.lc 20:15-20:21 Bool |
42 | testdata/typeclass.lc 20:17-20:19 {a} -> {b : Eq a} -> a -> a->Bool | 36 | testdata/typeclass.lc 20:17-20:19 {a} -> {b : Eq a} -> a -> a->Bool |
43 | testdata/typeclass.lc 20:20-20:21 V2 | 37 | testdata/typeclass.lc 20:20-20:21 V2 |
44 | testdata/typeclass.lc 22:13-22:17 Type | Type->Type | ||
45 | testdata/typeclass.lc 22:13-24:23 (V1 -> V2->Bool) -> V2 -> V3->Bool | {a : Eq V0} -> V1 -> V2->Bool | {a} -> {b : Eq a} -> a -> a->Bool | ||
46 | testdata/typeclass.lc 23:5-23:9 V2 | ||
47 | testdata/typeclass.lc 23:5-24:23 Bool | ||
48 | testdata/typeclass.lc 23:17-23:18 Bool | 38 | testdata/typeclass.lc 23:17-23:18 Bool |
49 | testdata/typeclass.lc 23:17-24:23 Bool->Bool | 39 | testdata/typeclass.lc 23:17-24:23 Bool->Bool | {a : Eq V0} -> V1 -> V2->Bool | {a} -> {b : Eq a} -> a -> a->Bool |
50 | testdata/typeclass.lc 24:18-24:21 Bool->Bool | 40 | testdata/typeclass.lc 24:18-24:21 Bool->Bool |
51 | testdata/typeclass.lc 24:18-24:23 Bool | 41 | testdata/typeclass.lc 24:18-24:23 Bool |
52 | testdata/typeclass.lc 24:22-24:23 V1 | 42 | testdata/typeclass.lc 24:22-24:23 V1 |