-------------------------------------------------------------------------------- -- | -- Module : Database.EventStore.Internal.Util.Sodium -- Copyright : (C) 2014 Yorick Laupa -- License : (see the file LICENSE) -- -- Maintainer : Yorick Laupa -- Stability : provisional -- Portability : non-portable -- -------------------------------------------------------------------------------- module Database.EventStore.Internal.Util.Sodium where -------------------------------------------------------------------------------- import Control.Concurrent (forkIO) import Data.Functor (void) -------------------------------------------------------------------------------- import FRP.Sodium -------------------------------------------------------------------------------- pushAsync :: (a -> Reactive ()) -> a -> IO () pushAsync push a = void $ forkIO $ sync $ push a -------------------------------------------------------------------------------- pushAsync2 :: (a -> b -> Reactive ()) -> a -> b -> IO () pushAsync2 push a b = void $ forkIO $ sync $ push a b -------------------------------------------------------------------------------- pushAsync3 :: (a -> b -> c -> Reactive ()) -> a -> b -> c -> IO () pushAsync3 push a b c = void $ forkIO $ sync $ push a b c -------------------------------------------------------------------------------- pushAsync4 :: (a -> b -> c -> d -> Reactive ()) -> a -> b -> c -> d -> IO () pushAsync4 push a b c d = void $ forkIO $ sync $ push a b c d