monad-effect-0.2.0.0: src/Control/System/EventLoop.hs
{-# LANGUAGE AllowAmbiguousTypes #-}
module Control.System.EventLoop where
import Control.System
import Control.Monad.Effect
import Control.Concurrent.STM
eventLoop :: forall mods es. (ConsFDataList FData mods, EventLoopSystem FData mods es ) => Eff mods es ()
eventLoop = do
beforeSystem @_ @_ @_
listenToEvents @_ @_ @_ >>= liftIO . atomically >>= handleEvents @_ @mods @es
afterSystem @_ @_ @_
eventLoop @mods @es