| filter

The | filter has the syntax:
  left | right

where left and right are each filters. The left and right arguments must each be set filters.

The | filter is a set filter whose value is the union of the sets of squares represented by its arguments.

For example,

  pin |
  {R attacks k}

Is the set of squares on which there is either a pinned piece or there a white rook attacking the black king. The left argument to the | filter is pin whose value is the set of squares on which there is a pinned piece. The right argumnet to the | filter is {R attacks k} , whose value is the set of squares on which there is a white rook which attacks the black king. The value of the | filter is the union of these two sets.

Examples

The | filter is used throughout the examples. It is used extensively in the puremate.cql, idealmate.cql and the like. It is used in turton.cql to make sure neither the pieces Front nor Side move:
  not move from (Front | Side)