Ren-C's MATCH is a powerful variadic filtering function for values, which can even let you just call the filter function on an argument while extracting that argument as the result:
>> match parse "aaa" [some "a"]
== "aaa" ;-- whoa! how'd it do that? >:-)
In any case, that name conflicts with MATCH in QuarterMaster, which is different:
match ["three" two 1] [
one: integer!
two: opt 'two
three: some string!
four: any issue!
]
== make object! [
one: 1
two: 'two
three: ["three"]
four: _ ;-- e.g. none
]
This seems a lot like DELECT, which was discussed recently. I'd be interested to understand the differences, and if the two could be merged. If so, I think it would probably be good to change the name to not conflict with Ren-C's MATCH, because that is something I think people are really going to want to use (once they realize how great it is!)
Source code for QuarterMaster MATCH is here: