mirror of
https://github.com/github/semantic.git
synced 2024-12-22 14:21:31 +03:00
Break the dependency of MonadAnalysis on MonadFunction.
This commit is contained in:
parent
f8fea56c6f
commit
8f446cbd60
@ -78,14 +78,13 @@ class Monad m => MonadAnalysis term value m where
|
|||||||
evaluateTerm :: ( AbstractValue value
|
evaluateTerm :: ( AbstractValue value
|
||||||
, FreeVariables term
|
, FreeVariables term
|
||||||
, MonadAddressable (LocationFor value) value m
|
, MonadAddressable (LocationFor value) value m
|
||||||
, MonadFunction term value m
|
|
||||||
, Ord (LocationFor value)
|
, Ord (LocationFor value)
|
||||||
, Semigroup (Cell (LocationFor value) value)
|
, Semigroup (Cell (LocationFor value) value)
|
||||||
)
|
)
|
||||||
=> term
|
=> term
|
||||||
-> m value
|
-> m value
|
||||||
|
|
||||||
instance (Recursive t, Evaluatable (Base t)) => MonadAnalysis t v (Evaluator es t v) where
|
instance (Recursive t, Evaluatable (Base t), MonadFunction t v (Evaluator es t v)) => MonadAnalysis t v (Evaluator es t v) where
|
||||||
evaluateTerm = foldSubterms eval
|
evaluateTerm = foldSubterms eval
|
||||||
|
|
||||||
-- FIXME: this should live in Control.Abstract.Function once it doesn’t need to reference Evaluatable.
|
-- FIXME: this should live in Control.Abstract.Function once it doesn’t need to reference Evaluatable.
|
||||||
|
Loading…
Reference in New Issue
Block a user