1
1
mirror of https://github.com/github/semantic.git synced 2024-12-26 16:33:03 +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) mempty = Merging (pure Nothing)
-- | Evaluate a (root-level) term to a value using the semantics of the current analysis. -- | Evaluate a (root-level) term to a value using the semantics of the current analysis.
evalModule :: forall location term value effects m evalModule :: forall location term value effects m inner
. ( Evaluatable (Base term) . ( inner ~ (Reader ModuleInfo ': EvalModule term value ': effects)
, Evaluatable (Base term)
, Member Fail effects , Member Fail effects
, Member (Reader PackageInfo) effects , Member (Reader PackageInfo) effects
, MonadAnalysis location term value (Reader ModuleInfo ': EvalModule term value ': effects) m , MonadAnalysis location term value inner m
, MonadEvaluatable location term value (Reader ModuleInfo ': EvalModule term value ': effects) m , MonadEvaluatable location term value inner m
, Recursive term , Recursive term
) )
=> Module term => Module term