mirror of
https://github.com/github/semantic.git
synced 2024-12-23 23:11:50 +03:00
Sort some constraints.
This commit is contained in:
parent
4468dee9be
commit
bda7091467
@ -28,11 +28,11 @@ import Prologue
|
|||||||
|
|
||||||
-- | The 'Evaluatable' class defines the necessary interface for a term to be evaluated. While a default definition of 'eval' is given, instances with computational content must implement 'eval' to perform their small-step operational semantics.
|
-- | The 'Evaluatable' class defines the necessary interface for a term to be evaluated. While a default definition of 'eval' is given, instances with computational content must implement 'eval' to perform their small-step operational semantics.
|
||||||
class Evaluatable constr where
|
class Evaluatable constr where
|
||||||
eval :: ( FreeVariables term
|
eval :: ( term ~ TermFor m
|
||||||
|
, value ~ ValueFor m
|
||||||
|
, FreeVariables term
|
||||||
, MonadAddressable (LocationFor value) m
|
, MonadAddressable (LocationFor value) m
|
||||||
, MonadAnalysis m
|
, MonadAnalysis m
|
||||||
, TermFor m ~ term
|
|
||||||
, ValueFor m ~ value
|
|
||||||
, MonadValue value m
|
, MonadValue value m
|
||||||
, Ord (LocationFor value)
|
, Ord (LocationFor value)
|
||||||
, Semigroup (CellFor value)
|
, Semigroup (CellFor value)
|
||||||
|
Loading…
Reference in New Issue
Block a user