/Я language (β)/Behaviour/Sieve/

> Sieve : forall t . t `P'T'I'TT'I` Match `C'AR____` ( t `P'T'I'TT'I` Match ) `L` t `T` _

Interpretation: this label let you sieve List using some Predicate - values that do not satisfy it are left behind.

Demonstration: filter out items that do not satisfy equality relation:

> boolean = Ok `ho'ut'st` False `has` Ok `ho'ut'st` True
> particular x = boolean `ha'hjd'eq` x `rya` Enter @ Match
> structure = A `has__` B `has_` C `has` D `_ryo` Enter @ List
> derive `ha` Sieve `ha` Clasp `har__` structure `hjd_` particular `har'st` B = B `ryo` Enter @ List

Demonstration: filter out items that are out of some subset:

> uppercase = Lower `ho'ut'st` False `has` Upper `ho'ut'st` True `rya` Enter @ Match
> lowercase = Lower `ho'ut'st` True `has` Upper `ho'ut'st` False `rya` Enter @ Match
> structure = Lower `ha` A `has__` Upper `ha` B `has_` Upper `ha` C `has` Lower `ha` D `_ryo` Enter @ List
> derive `ha` Sieve `ha` Clasp `har_` structure `hjd` lowercase = Lower `ha` C `has` Lower `ha` A `ryo` Enter @ List
> derive `ha` Sieve `ha` Clasp `har_` structure `hjd` uppercase = Upper `ha` D `has` Upper `ha` B `ryo` Enter @ List