From b0b93c714797243c4d698119013d638ee6bd91a8 Mon Sep 17 00:00:00 2001 From: Rob Rix Date: Tue, 6 Mar 2018 16:40:49 -0500 Subject: [PATCH] Move the :memo: for evaluateTerm down. --- src/Control/Abstract/Analysis.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Control/Abstract/Analysis.hs b/src/Control/Abstract/Analysis.hs index 9b48bea9f..f5cc97f50 100644 --- a/src/Control/Abstract/Analysis.hs +++ b/src/Control/Abstract/Analysis.hs @@ -7,9 +7,9 @@ import Prologue -- -- This typeclass is left intentionally unconstrained to avoid circular dependencies between it and other typeclasses. class Monad m => MonadAnalysis term value m | m -> term, m -> value where - -- | Evaluate a term to a value using the semantics of the current analysis. This should always be used instead of explicitly folding 'eval' over subterms, except in 'MonadAnalysis' instances themselves. analyzeTerm :: SubtermAlgebra (Base term) term (m value) + -- | Evaluate a term to a value using the semantics of the current analysis. This should always be used instead of explicitly folding 'eval' over subterms, except in 'MonadAnalysis' instances themselves. evaluateTerm :: MonadAnalysis term value m => term -> m value default evaluateTerm :: (MonadAnalysis term value m, Recursive term) => term -> m value evaluateTerm = foldSubterms analyzeTerm