1
Начиная с примера счетчика в реакционно Banana Wx, который использует нормальный Int
сохранить статус счетчика:Реактивная Banana: Изменение статуса в данных
let networkDescription :: forall t. Frameworks t => Moment t()
networkDescription = do
eup <- event0 bup command
edown <- event0 bdown command
let
counter :: Behavior t Int
counter = accumB 0 $ ((+1) <$ eup) `union` (subtract 1 <$ edown)
sink output [text :== show <$> counter]
network <- compile networkDescription
actuate network
как я могу заменить и обновить Int
счетчик с более общий data
как:
data Counter = Counter {
count :: Int
} deriving (Show)
let
counter :: Behavior t Counter
counter = accumB Counter { count = 0 } $ ??????
sink output [text :== show <$> count counter]
Я не знаю, как относиться к внутренней count
функции с чем-то вроде этого:
count = count mycounter + 1
Любая идея?