1 USING: accessors kernel models monads ui.frp.signals ui.frp.layout ui.gadgets ;
4 M: model >>= [ swap <action> ] curry ;
5 M: model fmap <mapped> ;
7 SINGLETON: gadget-monad
8 INSTANCE: gadget-monad monad
10 M: gadget monad-of drop gadget-monad ;
11 M: gadget-monad return drop <gadget> swap >>model ;
12 M: gadget >>= output-model [ swap call( x -- y ) ] curry ;