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