1 ! Copyright (C) 2008, 2009 Slava Pestov.
\r
2 ! See http://factorcode.org/license.txt for BSD license.
\r
3 USING: accessors models kernel call ;
\r
6 TUPLE: arrow < model model quot ;
\r
8 : <arrow> ( model quot -- arrow )
\r
12 [ add-dependency ] keep ;
\r
14 M: arrow model-changed
\r
15 [ [ value>> ] [ quot>> ] bi* call( old -- new ) ] [ nip ] 2bi
\r
18 M: arrow model-activated [ model>> ] keep model-changed ;
\r