16 lines
407 B
Haskell
16 lines
407 B
Haskell
{-# LANGUAGE MultiParamTypeClasses #-}
|
|
{-# LANGUAGE AllowAmbiguousTypes #-}
|
|
module Affection.MessageBus.Class where
|
|
|
|
import Affection.MessageBus.Message
|
|
import Affection.Types
|
|
|
|
class (Message msg) => Participant prt msg where
|
|
partChannel :: prt -> Channel msg
|
|
|
|
partInit :: Affection sd msg prt
|
|
|
|
partListen :: prt -> IO (Maybe msg)
|
|
|
|
partEmit :: prt -> msg -> IO ()
|