Why is LINQ not purely functional?
.net, c#, functional-programming, lambda, linq
Solution
LINQ is not a purely functional programming model as it permits side effects, is thus not referentially-transparent, which is a common definition of "purely functional".
Problem
So, why exactly is LINQ not considered purely functional? Is it because side effects can occur? Or is it maybe because it exists in an imperative environment?