]> gitweb.factorcode.org Git - factor.git/blob - basis/models/arrow/arrow.factor
core, basis, extra: Remove DOS line endings from files.
[factor.git] / basis / models / arrow / arrow.factor
1 ! Copyright (C) 2008, 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors kernel models sequences ;
4 IN: models.arrow
5
6 TUPLE: arrow < model quot ;
7
8 : <arrow> ( model quot -- arrow )
9     f arrow new-model
10         swap >>quot
11     [ add-dependency ] keep ;
12
13 M: arrow model-changed
14     [ [ value>> ] [ quot>> ] bi* call( old -- new ) ]
15     [ set-model ] bi ;
16
17 M: arrow model-activated
18     [ dependencies>> ] keep [ model-changed ] curry each ;