Defining filter using
(a) recursion
(b) folding
(c) folding with S, B and I combinators
(d) folding with applicative functor and identity function
Keywords: applicative functor, combinatorial logic, combinators, filter, fold, foldr, foldright, functional programming, haskell curry, raymond smullyan, recursion