{-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE AllowAmbiguousTypes #-} module Affection.MessageBus.Class where import Affection.MessageBus.Message import Affection.Types class Participant prt m where partChannel :: prt -> Channel m partInit :: Affection sd m prt partListen :: prt -> IO (Maybe m) partEmit :: prt -> m -> IO ()