module Scheduler.Unsafe (
) where
import Scheduler (newScheduler)
import Scheduler.Internal
import Scheduler.Main
import System.IO.Unsafe (unsafePerformIO)
unsafeRunSchedulerIO :: Scheduler s => s -> SchedulerIO s a -> IO a
unsafeRunSchedulerIO sch (SchedulerIO mf) = mf sch
instance Show v => Show (SchedulerIO MainScheduler v) where
show action = show $ unsafePerformIO $ do
sch <- getMainScheduler
unsafeRunSchedulerIO sch action
instance Show v => Show (SchedulerIO BackgroundScheduler v) where
show action = show $ unsafePerformIO $ do
sch <- newScheduler
unsafeRunSchedulerIO sch action