1
1
mirror of https://github.com/github/semantic.git synced 2024-12-19 12:51:52 +03:00

Move the FreeVariables constraint on terms to the instance.

This commit is contained in:
Rob Rix 2018-05-07 17:22:35 -04:00
parent fcb92d3f72
commit 81dd5dff74
2 changed files with 2 additions and 1 deletions

View File

@ -138,7 +138,7 @@ class Show value => AbstractValue location term value (effects :: [* -> *]) wher
scopedEnvironment :: value -> Evaluator location term value effects (Maybe (Environment location value))
-- | Evaluate an abstraction (a binder like a lambda or method definition).
lambda :: FreeVariables term => [Name] -> Subterm term (Evaluator location term value effects value) -> Evaluator location term value effects value
lambda :: [Name] -> Subterm term (Evaluator location term value effects value) -> Evaluator location term value effects value
-- | Evaluate an application (like a function call).
call :: value -> [Evaluator location term value effects value] -> Evaluator location term value effects value

View File

@ -209,6 +209,7 @@ instance AbstractHole (Value location) where
-- | Construct a 'Value' wrapping the value arguments (if any).
instance ( Addressable location effects
, FreeVariables term
, Members '[ EvalClosure term (Value location)
, Fail
, LoopControl (Value location)