{-# LANGUAGE FlexibleContexts, TypeFamilies #-} ----------------------------------------------------------------------------- -- | -- Module : CSPM.FiringRules.HelperClasses -- Copyright : (c) Fontaine 2010 -- License : BSD -- -- Maintainer : fontaine@cs.uni-duesseldorf.de -- Stability : experimental -- Portability : GHC-only -- -- Some helper classes. -- (Might be deleted or moved somewhere else some time.) -- ----------------------------------------------------------------------------- module CSPM.FiringRules.HelperClasses where import CSPM.CoreLanguage import CSPM.FiringRules.Rules -- | Implementation i supports 'Eq' and 'Ord'. class (Eq (Process i), Eq (RuleTick i), Eq (RuleTau i), Eq (RuleEvent i) ,Ord (Process i), Ord (RuleTick i), Ord (RuleTau i) ,Ord (RuleEvent i)) => EqOrd i -- | Implementation i supports 'Show'. class (Show (TTE i), Show (Rule i), Show (Process i), Show (RuleTick i) , Show (RuleTau i), Show (RuleEvent i)) => FShow i -- | 'CSP1' means that implementation i supports the base language. class (EqOrd i,BL i) => CSP1 i -- | 'CSP2' means that implementation i supports the base language and multi-field events. class (EqOrd i,BF i,CSP1 i) => CSP2 i