【发布时间】:2016-06-19 00:20:44
【问题描述】:
考虑以下代码:
module Main where
import Control.Event.Handler
import Reactive.Banana
import Reactive.Banana.Frameworks
main :: IO ()
main = do
(addHandler, fire) <- newAddHandler
compile (network addHandler) >>= actuate
fire "fire one"
fire "fire two"
network :: AddHandler String -> MomentIO ()
network addHandler = do
fireEvent <- fromAddHandler addHandler
behavior <- stepper "initial stepper value" fireEvent
behaviorValue <- valueB behavior
reactimate $ putStrLn . (\v -> "fire input: " ++ show v) <$> fireEvent
reactimate $ print behaviorValue <$ fireEvent
这个程序的输出是:
fire input: "fire one"
"initial stepper value"
fire input: "fire two"
"initial stepper value"
我是否正确使用valueB?如果没有,我做错了什么? valueB 的用途是什么,我应该在什么时候使用它?
【问题讨论】:
标签: haskell reactive-programming frp reactive-banana