From c36849cb6247f957b4e6b093e16d04421c8cea3d Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Sun, 25 May 2025 23:35:31 +0200 Subject: ERecompute --- src/Language.hs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/Language.hs') 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 -- cgit v1.2.3-70-g09d2