{-
- ``Control/Monad/Event/Internal/Types''
-}{-# LANGUAGE
ExistentialQuantification,
KindSignatures
#-}moduleControl.Monad.Event.Internal.Types(moduleControl.Monad.Event.Internal.Types,moduleControl.Monad.Event.Internal.EventID)whereimport{-# SOURCE #-}Control.Monad.Event.ClassesimportControl.Monad.Event.Internal.EventIDimportText.Printf-- for the benefit of haddockimportData.Typeable-- | An existential wrapper containing an event which can be executed in the-- monad 'm'.-- -- I would like to existentially quantify the time parameter too, since it's-- uniquely determined according to the functional dependencies of 'MonadTime',-- but GHC doesn't unify it with its actual type in pattern matches - I was-- not able to use it as a 'PrintfArg' in:-- -- > instance MonadEvent (EventT Double IO) (EventDescriptor (EventT Double IO))dataEventDescriptor(m::*->*)t=foralle.ScheduleEventmte=>EventDescriptor{eventId::EventID,eventTime::t,event::e}tyCon_EventDescriptor=mkTyCon"Control.Monad.Event.Internal.Types.EventDescriptor"instanceTypeable1m=>Typeable1(EventDescriptorm)wheretypeOf1y=mkTyConApptyCon_EventDescriptor[typeOf1((undefined::EventDescriptormt->m())y)]