- “long”
retains all input values while avoiding the creation of duplicate values, which is consistent with the “dominant append” handling applied by most other filter operators. - “repeat”
can produce duplicate values, which is similar to operators likeenlist:raw[...]
orget[...]
. If “long” handling is the default, “repeat” could be a filter suffix (i.e.,braid:repeat[...]
). If “repeat” handling is the default, you could follow with aunique[]
operator to produce the equivalent “long” result. - “short”
can omit values that were specified in the inputs, but still may be a useful result in some circumstances. If “long” handling is the default, this could also be a filter suffix (i.e.braid:short[...]
.
My suggestion is to use “long” handling by default, but permit all three variations in handling through the use of operator suffixes, like this:
braid:long[...],[...]
braid:repeat[...],[...]
braid:short[...],[...]
Also, as far as the name of the operator is concerned, “weave” or “plait” might be a decent alternative to “braid”.
-e