- fxmapping-union/combinator proc fxmap₁ fxmap₂ fxmap₃ …procedure
- fxmapping-intersection/combinator proc fxmap₁ fxmap₂ fxmap₃ …procedure
proc is a procedure of type fixnum * * → *.
Return a fxmapping whose set of keys is the union/intersection of the sets of keys of the fxmaps. The values associated with duplicate keys are combined left-associatively with proc, which is also passed the duplicated key as its first argument; that is, if an integer k is associated with values v₁, v₂, …, vₙ in fxmap₁, fxmap₂, …, fxmapₙ, respectively, then the resulting fxmapping will contain the association (k, (proc k … (proc k v₁ v₂) … vₙ)).
Examples:
;; Right-biased union. (fxmapping->alist (fxmapping-union/combinator (lambda (_k _l r) r) (fxmapping 1 'b 2 'c) (fxmapping 2 "data" 3 "picard"))) ⇒ ((1 . b) (2 . "data") (3 . "picard")) (fxmapping->alist (fxmapping-intersection/combinator (lambda (_ l r) (string-append l " " r)) (fxmapping 1 "q" 3 "jean-luc" 5 "miles" 7 "quark") (fxmapping 3 "picard" 5 "o'brien"))) ⇒ ((3 . "jean-luc picard") (5 . "miles o'brien"))