: key? ( key assoc -- ? ) at* nip ; inline
: assoc-each ( ... assoc quot: ( ... key value -- ... ) -- ... )
: key? ( key assoc -- ? ) at* nip ; inline
: assoc-each ( ... assoc quot: ( ... key value -- ... ) -- ... )
: assoc-map-as ( ... assoc quot: ( ... key value -- ... newkey newvalue ) exemplar -- ... newassoc )
[ [ 2array ] compose { } assoc>map ] dip assoc-like ; inline
: assoc-map-as ( ... assoc quot: ( ... key value -- ... newkey newvalue ) exemplar -- ... newassoc )
[ [ 2array ] compose { } assoc>map ] dip assoc-like ; inline
over assoc-map-as ; inline
: assoc-filter-as ( ... assoc quot: ( ... key value -- ... ? ) exemplar -- ... subassoc )
over assoc-map-as ; inline
: assoc-filter-as ( ... assoc quot: ( ... key value -- ... ? ) exemplar -- ... subassoc )
: assoc-filter ( ... assoc quot: ( ... key value -- ... ? ) -- ... subassoc )
over assoc-filter-as ; inline
: assoc-filter ( ... assoc quot: ( ... key value -- ... ? ) -- ... subassoc )
over assoc-filter-as ; inline
[ nip empty? ] assoc-reject ; inline
: assoc-partition ( ... assoc quot: ( ... key value -- ... ? ) -- ... true-assoc false-assoc )
[ nip empty? ] assoc-reject ; inline
: assoc-partition ( ... assoc quot: ( ... key value -- ... ? ) -- ... true-assoc false-assoc )
[ assoc-like ] curry bi@ ; inline
: assoc-any? ( ... assoc quot: ( ... key value -- ... ? ) -- ... ? )
[ assoc-like ] curry bi@ ; inline
: assoc-any? ( ... assoc quot: ( ... key value -- ... ? ) -- ... ? )