CSPM-FiringRules-0.1.0.0: src/CSPM/FiringRules/HelperClasses.hs
{-# 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