1
1
mirror of https://github.com/github/semantic.git synced 2024-12-23 14:54:16 +03:00

Sort some constraints.

This commit is contained in:
Rob Rix 2018-03-08 13:47:39 -05:00
parent 4468dee9be
commit bda7091467

View File

@ -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)