aboutsummaryrefslogtreecommitdiff
path: root/src/CHAD/AST/SplitLets.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/CHAD/AST/SplitLets.hs')
-rw-r--r--src/CHAD/AST/SplitLets.hs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/CHAD/AST/SplitLets.hs b/src/CHAD/AST/SplitLets.hs
index 34267e4..75c70ea 100644
--- a/src/CHAD/AST/SplitLets.hs
+++ b/src/CHAD/AST/SplitLets.hs
@@ -79,6 +79,8 @@ splitLets' = \sub -> \case
EPlus x t a b -> EPlus x t (splitLets' sub a) (splitLets' sub b)
EOneHot x t p a b -> EOneHot x t p (splitLets' sub a) (splitLets' sub b)
EError x t s -> EError x t s
+ EUser x t e -> EUser x t (splitLets' sub e)
+ EUnUser x e -> EUnUser x (splitLets' sub e)
where
sinkF :: (forall a env2. STy a -> Idx env a -> env' :> env2 -> Ex env2 a)
-> STy t -> Idx (b : env) t -> (b : env') :> env3 -> Ex env3 t
@@ -167,6 +169,7 @@ split typ = case typ of
STArr{} -> other
STScal{} -> other
STAccum{} -> other
+ STUser{} -> other
where
other :: (Pointers (t : env) t, Bindings Ex (t : env) '[])
other = (Point typ IZ, BTop)
@@ -186,6 +189,7 @@ splitRec rhs typ = case typ of
STArr{} -> other
STScal{} -> other
STAccum{} -> other
+ STUser{} -> other
where
other :: (Pointers (t : env) t, Bindings Ex env '[t])
other = (Point typ IZ, BPush BTop (typ, rhs))