diff --git a/extra/assocs/lib/lib.factor b/extra/assocs/lib/lib.factor index 5f4620fd64..2a8634987f 100755 --- a/extra/assocs/lib/lib.factor +++ b/extra/assocs/lib/lib.factor @@ -38,8 +38,11 @@ IN: assocs.lib swap [ change-at ] 2curry assoc-each ] keep ; inline +: ?at ( obj1 assoc -- obj1/obj2 ) + dupd at* [ nip ] [ drop ] if ; + : if-at ( obj assoc quot1 quot2 -- ) - [ dupd at* [ not -rot ? ] keep ] 2dip if ; inline + [ ?at dup ] 2dip if ; inline : when-at ( obj assoc quot -- ) [ ] if-at ; inline