module FRP.Dunai.Debug where
import Data.MonadicStreamFunction hiding (trace)
import Debug.Trace (trace)
traceMSF :: Monad m
=> Show a
=> MSF m a a
traceMSF :: forall (m :: * -> *) a. (Monad m, Show a) => MSF m a a
traceMSF = (a -> String) -> MSF m a a
forall (m :: * -> *) a. Monad m => (a -> String) -> MSF m a a
traceMSFWith a -> String
forall a. Show a => a -> String
show
traceMSFWith :: Monad m
=> (a -> String)
-> MSF m a a
traceMSFWith :: forall (m :: * -> *) a. Monad m => (a -> String) -> MSF m a a
traceMSFWith a -> String
f = (a -> a) -> MSF m a a
forall b c. (b -> c) -> MSF m b c
forall (a :: * -> * -> *) b c. Arrow a => (b -> c) -> a b c
arr (\a
x -> String -> a -> a
forall a. String -> a -> a
trace (a -> String
f a
x) a
x)
traceMSFWithIO :: (a -> IO b)
-> MSF IO a a
traceMSFWithIO :: forall a b. (a -> IO b) -> MSF IO a a
traceMSFWithIO a -> IO b
f = (a -> IO a) -> MSF IO a a
forall (m :: * -> *) a b. Monad m => (a -> m b) -> MSF m a b
arrM (\a
x -> a -> IO b
f a
x IO b -> IO a -> IO a
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> a -> IO a
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return a
x)