mirror of
https://github.com/github/semantic.git
synced 2024-12-25 16:02:43 +03:00
🔥 evaluateReach.
This commit is contained in:
parent
927c3fe608
commit
f78d8c717f
@ -47,24 +47,6 @@ evaluateTrace :: forall trace value term
|
||||
-> Final (TracingEffects trace term value) value
|
||||
evaluateTrace = run @(TracingEffects trace term value) . runEvaluator . runTracingAnalysis . evaluateTerm
|
||||
|
||||
-- | Reachable configuration analysis.
|
||||
evaluateReach :: forall value term
|
||||
. ( Corecursive term
|
||||
, Evaluatable (Base term)
|
||||
, FreeVariables term
|
||||
, Ord (Cell (LocationFor value) value)
|
||||
, Ord (LocationFor value)
|
||||
, Ord term
|
||||
, Ord value
|
||||
, Recursive term
|
||||
, MonadAddressable (LocationFor value) value (TracingAnalysis Set term value)
|
||||
, MonadValue term value (TracingAnalysis Set term value)
|
||||
, Semigroup (Cell (LocationFor value) value)
|
||||
)
|
||||
=> term
|
||||
-> Final (TracingEffects Set term value) value
|
||||
evaluateReach = run @(TracingEffects Set term value) . runEvaluator . runTracingAnalysis . evaluateTerm
|
||||
|
||||
|
||||
newtype TracingAnalysis trace term value a = TracingAnalysis { runTracingAnalysis :: Evaluator (TracingEffects trace term value) term value a }
|
||||
deriving (Applicative, Functor, Monad, MonadFail)
|
||||
|
Loading…
Reference in New Issue
Block a user