Using an anonymous selection predicate (boolean lambda function) with TDirectory.GetFiles …
(2012) Why LINQ Matters: Cloud Composability Guaranteed
By Brian Beckman - Communications of the ACM
“LINQ borrowed its essential concepts … from Haskell, specifically from its initialization library called Prelude.”
"LINQ’s foundation is the monad type class borrowed from the Haskell programming language. A monad is an interface for managing monoidal container structures, including lists, sets, bags, and permutations. LINQ does not presuppose or guarantee order. No matter how one might linearize a graph into, say, an ordered list or unordered bag, LINQ will not change the given order.
As for convolutions, continuations, and exceptions, I need only show that a collection is monadic to show it is also LINQable. For convolutions, under the Fourier representation, LINQ operates on vector spaces, which are monads. For the continuation and exception monads (called the Maybe monad), see Haskell documentation http://www.haskell.org/haskellwiki/Haskell."
Ian Boyd. StackOverflow. 2017.