USING: accessors kernel slots.syntax math ; IN: max-list QUALIFIED-WITH: binary-tree bst TUPLE: maxlist < limited-list min ; : ( limit -- minlist ) maxlist new swap >>limit ; M: maxlist belongs? ( node maxlist -- ? ) min>> dup [ bst:> ] [ 2drop t ] if ; M: maxlist update ( maxlist -- ) dup btree>> bst:min >>min drop ;