+$ model [count=@ud] +$ message %noop [%set value=@ud] ++ main (program init update view subs) ++ init |= input=@t ^- model [count=0] ++ update |= [event=message current=model] ?- event %noop [current ~] [%set value] ?- (gth value 10) %.y [current(count=value) ~] %.n [current ~] ++ view |= state=model ^- (element message) (text "view") ++ subs |= state=model ^- (list (sub message)) ~