mirror of
https://github.com/github/semantic.git
synced 2024-12-22 14:21:31 +03:00
Reformat the context for the AbstractFunction instance for values.
This commit is contained in:
parent
9192a35b06
commit
8c51acec71
@ -77,7 +77,13 @@ class AbstractValue v => AbstractFunction effects t v | v -> t where
|
||||
abstract :: [Name] -> Subterm t (Evaluator effects t v v) -> Evaluator effects t v v
|
||||
apply :: v -> [Subterm t (Evaluator effects t v v)] -> Evaluator effects t v v
|
||||
|
||||
instance (Addressable location effects, Semigroup (Cell location (Value location t)), Recursive t, Evaluatable (Base t), FreeVariables t) => AbstractFunction effects t (Value location t) where
|
||||
instance ( Addressable location effects
|
||||
, Evaluatable (Base t)
|
||||
, FreeVariables t
|
||||
, Recursive t
|
||||
, Semigroup (Cell location (Value location t))
|
||||
)
|
||||
=> AbstractFunction effects t (Value location t) where
|
||||
-- FIXME: Can we store the action evaluating the body in the Value instead of the body term itself
|
||||
abstract names (Subterm body _) = inj . Closure names body <$> askLocalEnv
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user