1
1
mirror of https://github.com/github/semantic.git synced 2024-12-25 16:02:43 +03:00

Use an equality constraint for evalModule’s inner effects.

This commit is contained in:
Rob Rix 2018-05-02 12:47:16 -04:00
parent baa3f41b39
commit 23cf827964

View File

@ -284,12 +284,13 @@ instance Applicative m => Monoid (Merging m location value) where
mempty = Merging (pure Nothing)
-- | Evaluate a (root-level) term to a value using the semantics of the current analysis.
evalModule :: forall location term value effects m
. ( Evaluatable (Base term)
evalModule :: forall location term value effects m inner
. ( inner ~ (Reader ModuleInfo ': EvalModule term value ': effects)
, Evaluatable (Base term)
, Member Fail effects
, Member (Reader PackageInfo) effects
, MonadAnalysis location term value (Reader ModuleInfo ': EvalModule term value ': effects) m
, MonadEvaluatable location term value (Reader ModuleInfo ': EvalModule term value ': effects) m
, MonadAnalysis location term value inner m
, MonadEvaluatable location term value inner m
, Recursive term
)
=> Module term