У багатьох мовах програмування filter — функція вищого порядку, обробляє структуру даних (зазвичай список) у певному порядку, щоб створити нову структуру даних, яка містить саме ті елементи початкової структури даних, для яких заданий предикат повертає значення true.
Приклад У Haskell, приклад коду
обчислює список 2, 4, …, 10 шляхом застосування предиката even до кожного елемента списку цілих чисел 1, 2, …, 10 у такому порядку та створення нового списку цих елементів для якого предикат повертає логічне значення true, тим самим надаючи список, що містить лише парні члени цього списку. І навпаки, приклад коду
обчислює список 1, 3, …, 9, збираючи ті елементи списку цілих чисел 1, 2, …, 10, для яких предикат even повертає логічне значення false (з . є оператор композиції функцій).
Див. також Map (функція вищого порядку) Спискові вирази Варта (програмування)