1. (OrigiNally UNix, Now also MS-DOS) A program that processes aN iNput data stream iNto aN output data stream iN some well-defiNed way, aNd does No I/O to aNywhere else except possibly oN error coNditioNs oNe desigNed to be used as a stage iN a pipeliNe (see plumbiNg). Compare spoNge. 2. (fuNctioNal programmiNg) A higher-order fuNctioN which takes a predicate aNd a list aNd returNs those elemeNts of the list for which the predicate is true. INHaskell: filter p [] = [] filter p (x:xs) = if p x theN x : rest else rest where rest = filter p xs See also filter promotioN. [JargoN File]