diff options
author | Tom Smeding <tom@tomsmeding.com> | 2024-10-22 23:46:39 +0200 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2024-10-22 23:47:53 +0200 |
commit | 3847c6ae2d5eb581dac88629e7534aa42e143411 (patch) | |
tree | 63036604613f8ac17efd8978004c579a0a5bb39b /src/AST | |
parent | d6d07f3bf20b4a3c0e51b4414fb0e4538176d294 (diff) |
Fix interpreter bug
Diffstat (limited to 'src/AST')
-rw-r--r-- | src/AST/Count.hs | 2 | ||||
-rw-r--r-- | src/AST/Pretty.hs | 2 | ||||
-rw-r--r-- | src/AST/Weaken.hs | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/src/AST/Count.hs b/src/AST/Count.hs index dbec446..31720a5 100644 --- a/src/AST/Count.hs +++ b/src/AST/Count.hs @@ -123,7 +123,7 @@ occCountGeneral onehot unpush alter many = go WId EConst{} -> mempty EIdx0 _ e -> re e EIdx1 _ a b -> re a <> re b - EIdx _ _ a b -> re a <> re b + EIdx _ a b -> re a <> re b EShape _ e -> re e EOp _ _ e -> re e EWith a b -> re a <> re1 b diff --git a/src/AST/Pretty.hs b/src/AST/Pretty.hs index d811912..b50506a 100644 --- a/src/AST/Pretty.hs +++ b/src/AST/Pretty.hs @@ -159,7 +159,7 @@ ppExpr' d val = \case b' <- ppExpr' 9 val b return $ showParen (d > 8) $ a' . showString " .! " . b' - EIdx _ _ a b -> do + EIdx _ a b -> do a' <- ppExpr' 9 val a b' <- ppExpr' 10 val b return $ showParen (d > 8) $ diff --git a/src/AST/Weaken.hs b/src/AST/Weaken.hs index 0a1e4ce..ecd7bc9 100644 --- a/src/AST/Weaken.hs +++ b/src/AST/Weaken.hs @@ -48,7 +48,7 @@ data env :> env' where -> Append pre (t : env) :> t : Append pre env' WSwap :: forall env as bs. SList (Const ()) as -> SList (Const ()) bs -> Append as (Append bs env) :> Append bs (Append as env) - WStack :: forall as bs env1 env2. SList (Const ()) as -> SList (Const ()) bs + WStack :: forall env1 env2 as bs. SList (Const ()) as -> SList (Const ()) bs -> as :> bs -> env1 :> env2 -> Append as env1 :> Append bs env2 deriving instance Show (env :> env') @@ -74,7 +74,7 @@ WSwap @env (as :: SList _ as) (bs :: SList _ bs) @> i = Right i' -> case splitIdx @env bs i' of Left j -> indexRaiseAbove @(Append as env) bs j Right j -> indexSinks bs (indexSinks as j) -WStack @as @bs @env1 @env2 as bs wlo whi @> i = +WStack @env1 @env2 as bs wlo whi @> i = case splitIdx @env1 as i of Left i' -> indexRaiseAbove @env2 bs (wlo @> i') Right i' -> indexSinks bs (whi @> i') |