1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import FRP.Reactive
import FRP.Reactive.LegacyAdapters
import Control.Concurrent
import Control.Monad
import Control.Applicative
main = do
clock <- makeClock
(inSink, indata) <- makeEvent clock
forkIO $ forever $ getLine >>= inSink
adaptE (reactor indata)
reactor :: Event String -> Event Action
reactor indata = print <$> fails indata
where working i = id i
fails i = do line <- i; return line
|