module Events.Destructible (
Destroyable(..),
Destructible(..),
doOnce,
) where
import Events.Events
import Events.Toggle
class Destroyable o where
destroy :: o -> IO ()
class Destroyable o => Destructible o where
destroyed :: o -> Event ()
doOnce :: IO () -> IO (IO ())
doOnce :: IO () -> IO (IO ())
doOnce IO ()
action =
do
SimpleToggle
sToggle <- IO SimpleToggle
newSimpleToggle
IO () -> IO (IO ())
forall (m :: * -> *) a. Monad m => a -> m a
return (SimpleToggle -> IO () -> IO ()
ifSimpleToggle SimpleToggle
sToggle IO ()
action)