diff options
Diffstat (limited to 'src/Language.hs')
-rw-r--r-- | src/Language.hs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Language.hs b/src/Language.hs index 9fd5dd3..7a780a0 100644 --- a/src/Language.hs +++ b/src/Language.hs @@ -169,6 +169,9 @@ custom :: (Var n1 a :-> Var n2 b :-> NExpr ['(n2, b), '(n1, a)] t) custom (n1 :-> n2 :-> a) (nf1 :-> nf2 :-> b) (nr1 :-> nr2 :-> c) e1 e2 = NECustom n1 n2 a nf1 nf2 b nr1 nr2 c e1 e2 +recompute :: NExpr env a -> NExpr env a +recompute = NERecompute + with :: forall t a env acname. KnownMTy t => NExpr env t -> (Var acname (TAccum t) :-> NExpr ('(acname, TAccum t) : env) a) -> NExpr env (TPair a t) with a (n :-> b) = NEWith (knownMTy @t) a n b |