summaryrefslogtreecommitdiff
path: root/src/CHAD.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/CHAD.hs')
-rw-r--r--src/CHAD.hs11
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"