X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=blobdiff_plain;f=extra%2Fassocs%2Fextras%2Fextras.factor;h=7073a074382ca3ed6fa105dcb0466d9b8327c444;hp=8aee7d6d9db110e65d14d15979093f9d2586ae93;hb=baa7f3b31f3686dd30a70a3a32566c3097068e5d;hpb=07d2b0364b3301eab16a1ccfb050f5b3edddbd91 diff --git a/extra/assocs/extras/extras.factor b/extra/assocs/extras/extras.factor index 8aee7d6d9d..7073a07438 100644 --- a/extra/assocs/extras/extras.factor +++ b/extra/assocs/extras/extras.factor @@ -217,8 +217,11 @@ PRIVATE> : flatten-values ( assoc -- assoc' ) dup any-multi-value? [ expand-values-set-at flatten-values ] when ; +: intersect-keys-as ( assoc seq exemplar -- elts ) + [ [ of ] with ] dip zip-with-as sift-values ; inline + : intersect-keys ( assoc seq -- elts ) - [ of ] with zip-with sift-values ; inline + over intersect-keys-as ; inline : values-of ( assoc seq -- seq' ) [ of ] with map ; inline