Skip to content

Commit 10f6b18

Browse files
committed
Pass initial simplifier cache to performRewrite
1 parent 24b8126 commit 10f6b18

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

booster/library/Booster/JsonRpc.hs

+2-3
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,7 @@ respond stateVar request =
177177
unsupported
178178
(Left other, _) ->
179179
pure . Left . RpcError.backendError $ RpcError.Aborted (Text.pack . constructorName $ other)
180-
(Right newPattern, _simplifierCache) -> do
181-
-- FIXME do not throw away @simplifierCache@, pass it to performRewrite somehow
180+
(Right newPattern, simplifierCache) -> do
182181
logger <- getLogger
183182
prettyModifiers <- getPrettyModifiers
184183
let rewriteConfig =
@@ -197,7 +196,7 @@ respond stateVar request =
197196
}
198197

199198
result <-
200-
performRewrite rewriteConfig newPattern
199+
performRewrite rewriteConfig simplifierCache newPattern
201200
SMT.finaliseSolver solver
202201
stop <- liftIO $ getTime Monotonic
203202
pure $ execResponse (duration req.logTiming start stop) req result substitution unsupported

booster/library/Booster/Pattern/Rewrite.hs

+10-9
Original file line numberDiff line numberDiff line change
@@ -704,9 +704,10 @@ performRewrite ::
704704
forall io.
705705
LoggerMIO io =>
706706
RewriteConfig ->
707+
SimplifierCache ->
707708
Pattern ->
708709
io (Natural, Seq (RewriteTrace ()), RewriteResult Pattern)
709-
performRewrite rewriteConfig pat = do
710+
performRewrite rewriteConfig initialCache pat = do
710711
(rr, RewriteStepsState{counter, traces}) <-
711712
flip runStateT rewriteStart $ doSteps False pat
712713
pure (counter, traces, rr)
@@ -722,6 +723,14 @@ performRewrite rewriteConfig pat = do
722723
, terminalLabels
723724
} = rewriteConfig
724725

726+
rewriteStart :: RewriteStepsState
727+
rewriteStart =
728+
RewriteStepsState
729+
{ counter = 0
730+
, traces = mempty
731+
, simplifierCache = initialCache
732+
}
733+
725734
logDepth = withContext CtxDepth . logMessage
726735

727736
depthReached n = maybe False (n >=) mbMaxDepth
@@ -919,11 +928,3 @@ data RewriteStepsState = RewriteStepsState
919928
, traces :: !(Seq (RewriteTrace ()))
920929
, simplifierCache :: SimplifierCache
921930
}
922-
923-
rewriteStart :: RewriteStepsState
924-
rewriteStart =
925-
RewriteStepsState
926-
{ counter = 0
927-
, traces = mempty
928-
, simplifierCache = mempty
929-
}

0 commit comments

Comments
 (0)