diff options
Diffstat (limited to 'src/CHAD.hs')
-rw-r--r-- | src/CHAD.hs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/CHAD.hs b/src/CHAD.hs index 692bb96..943f0a2 100644 --- a/src/CHAD.hs +++ b/src/CHAD.hs @@ -968,6 +968,12 @@ drev des = \case (subenvNone (select SMerge des)) (ENil ext) + EConstArr _ n t val -> + Ret BTop + (EConstArr ext n t val) + (subenvNone (select SMerge des)) + (ENil ext) + EBuild1 _ ne (orige :: Ex _ eltty) | Ret (ne0 :: Bindings _ _ ne_binds) ne1 _ _ <- drev des ne -- allowed to ignore ne2 here because ne has a discrete result , let eltty = typeOf orige -> @@ -1075,9 +1081,10 @@ drev des = \case weakenExpr (WCopy (WSink .> WSink)) e2) -- These should be the next to be implemented, I think - EFold1{} -> err_unsupported "EFold1" + ESum1Inner{} -> err_unsupported "ESum" + EReplicate1Inner{} -> err_unsupported "EReplicate" EShape{} -> err_unsupported "EShape" - -- EReplicate{} -> err_unsupported "EReplicate" + EFold1Inner{} -> err_unsupported "EFold1Inner" EIdx{} -> err_unsupported "EIdx" EBuild{} -> err_unsupported "EBuild" |