1
1
mirror of https://github.com/github/semantic.git synced 2024-12-27 00:44:57 +03:00

📝 evaluateTerm.

This commit is contained in:
Rob Rix 2018-03-02 12:13:01 -05:00
parent ecbfd71a1c
commit 60be5d2f1a

View File

@ -5,4 +5,5 @@ module Control.Abstract.Analysis where
--
-- 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.
evaluateTerm :: term -> m value