mirror of
https://github.com/github/semantic.git
synced 2024-12-23 06:41:45 +03:00
🔥 MonadPrim constraints.
This commit is contained in:
parent
026cc46dbc
commit
0db9e01728
@ -4,7 +4,6 @@ module Abstract.Interpreter where
|
||||
import Abstract.Environment
|
||||
import Abstract.Eval
|
||||
import Abstract.FreeVariables
|
||||
import Abstract.Primitive
|
||||
import Abstract.Store
|
||||
import Abstract.Type
|
||||
import Abstract.Value
|
||||
@ -40,7 +39,6 @@ evaluate :: forall v syntax ann
|
||||
, Semigroup (Cell (LocationFor v) v)
|
||||
, FreeVariables1 syntax
|
||||
, MonadAddress (LocationFor v) (Eff (Interpreter (LocationFor v) v))
|
||||
, MonadPrim v (Eff (Interpreter (LocationFor v) v))
|
||||
, Eval v (Eff (Interpreter (LocationFor v) v)) syntax
|
||||
)
|
||||
=> Term syntax ann
|
||||
@ -75,7 +73,6 @@ evRoots :: forall l v m syntax ann
|
||||
. ( Ord l
|
||||
, MonadEnv l v m
|
||||
, MonadGC l v m
|
||||
, MonadPrim v m
|
||||
, AbstractValue l v
|
||||
, Eval v m (TermF syntax ann)
|
||||
, FreeVariables1 syntax
|
||||
|
@ -6,7 +6,6 @@ import Abstract.Environment
|
||||
import Abstract.Eval
|
||||
import Abstract.FreeVariables
|
||||
import Abstract.Interpreter
|
||||
import Abstract.Primitive
|
||||
import Abstract.Store
|
||||
import Abstract.Type
|
||||
import Abstract.Value
|
||||
@ -95,7 +94,6 @@ evalCache :: forall v syntax ann
|
||||
, FreeVariables1 syntax
|
||||
, Functor syntax
|
||||
, MonadAddress (LocationFor v) (Eff (CachingInterpreter (LocationFor v) (Term syntax ann) v))
|
||||
, MonadPrim v (Eff (CachingInterpreter (LocationFor v) (Term syntax ann) v))
|
||||
, Semigroup (Cell (LocationFor v) v)
|
||||
, AbstractValue (LocationFor v) v
|
||||
, Eval v (Eff (CachingInterpreter (LocationFor v) (Term syntax ann) v)) syntax
|
||||
|
@ -4,7 +4,6 @@ module Abstract.Interpreter.Dead where
|
||||
import Abstract.Eval
|
||||
import Abstract.FreeVariables
|
||||
import Abstract.Interpreter
|
||||
import Abstract.Primitive
|
||||
import Abstract.Store
|
||||
import Abstract.Value
|
||||
|
||||
@ -57,7 +56,6 @@ evalDead :: forall v syntax ann
|
||||
, Functor syntax
|
||||
, Eval v (Eff (DeadCodeInterpreter (LocationFor v) (Term syntax ann) v)) syntax
|
||||
, MonadAddress (LocationFor v) (Eff (DeadCodeInterpreter (LocationFor v) (Term syntax ann) v))
|
||||
, MonadPrim v (Eff (DeadCodeInterpreter (LocationFor v) (Term syntax ann) v))
|
||||
, Semigroup (Cell (LocationFor v) v)
|
||||
)
|
||||
=> Term syntax ann
|
||||
|
@ -6,7 +6,6 @@ import Abstract.Environment
|
||||
import Abstract.Eval
|
||||
import Abstract.FreeVariables
|
||||
import Abstract.Interpreter
|
||||
import Abstract.Primitive
|
||||
import Abstract.Store
|
||||
import Abstract.Value
|
||||
|
||||
@ -44,7 +43,6 @@ evalTrace :: forall v syntax ann
|
||||
, FreeVariables1 syntax
|
||||
, Functor syntax
|
||||
, MonadAddress (LocationFor v) (Eff (TraceInterpreter (LocationFor v) (Term syntax ann) v))
|
||||
, MonadPrim v (Eff (TraceInterpreter (LocationFor v) (Term syntax ann) v))
|
||||
, MonadGC (LocationFor v) v (Eff (TraceInterpreter (LocationFor v) (Term syntax ann) v))
|
||||
, Semigroup (Cell (LocationFor v) v)
|
||||
, Eval v (Eff (TraceInterpreter (LocationFor v) (Term syntax ann) v)) syntax
|
||||
@ -57,7 +55,6 @@ evalReach :: forall v syntax ann
|
||||
, FreeVariables1 syntax
|
||||
, Functor syntax
|
||||
, MonadAddress (LocationFor v) (Eff (ReachableStateInterpreter (LocationFor v) (Term syntax ann) v))
|
||||
, MonadPrim v (Eff (ReachableStateInterpreter (LocationFor v) (Term syntax ann) v))
|
||||
, MonadGC (LocationFor v) v (Eff (ReachableStateInterpreter (LocationFor v) (Term syntax ann) v))
|
||||
, Semigroup (Cell (LocationFor v) v)
|
||||
, Eval v (Eff (ReachableStateInterpreter (LocationFor v) (Term syntax ann) v)) syntax
|
||||
|
Loading…
Reference in New Issue
Block a user