# infix (-)

Documentation for infix `(-)`

assembled from the following types:

# language documentation Sets, bags, and mixes

## (Sets, bags, and mixes) infix (-)

multi sub infix:<(-)>(**)

Set difference operator. It is of precedence "Junctive or".

Returns the **set difference** of all its arguments. Generally, this returns the `Set`

made up of all the elements the first argument has but the rest don't, i.e., of all the elements of the first argument, minus the elements from the other arguments.

If the first argument is `Baggy`

, this returns a `Bag`

that contains each element of the first argument with its weight subtracted by the weight of that element in each of the other arguments.

bag(<a a b c a d>) (-) bag(<a a b c c>) === bag(<a d>)bag(<a a a a c d d d>) (-) bag(<a b d a>) (-) bag(<d c>) === bag(<a a d>)