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:
parent
fcb92d3f72
commit
81dd5dff74
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user