diff --git a/src/Control/Abstract/TermEvaluator.hs b/src/Control/Abstract/TermEvaluator.hs index 2ced9e511..dfeecc343 100644 --- a/src/Control/Abstract/TermEvaluator.hs +++ b/src/Control/Abstract/TermEvaluator.hs @@ -16,6 +16,9 @@ import Control.Monad.Effect.State as X import Control.Monad.Effect.Trace as X import Prologue +-- | Evaluators specialized to some specific term type. +-- +-- This is used to constrain the term type so that inference for analyses can resolve it correctly, but should not be used for any of the term-agonstic machinery like builtins, Evaluatable instances, the mechanics of the heap & environment, etc. newtype TermEvaluator term location value effects a = TermEvaluator { runTermEvaluator :: Evaluator location value effects a } deriving (Applicative, Effectful, Functor, Monad)