I don't know where else to ask this question, I hope this is a good place.
I'm just curious to know if its possible to make a lambda calculus generator; essentially, a loop that will, given infinite time, produce every possible lambda calculus function. (like in the form of a string).
Since lambda calculus is so simple, having only a few elements to its notation I thought it might be possible (though, not very useful) to produce all possible combinations of that notation elements, starting with the simplest combinations, and thereby produce every possible lambda calculus function.
Of course, I know almost nothing about lambda calculus so I have no idea if this is really possible.
Is it? If so, is it pretty straightforward like I've envisioned it, or is it technically possible, but so difficult that it is effectively impossible?
PS. I'm not talking about beta-reduced functions, I'm just talking about every valid notation of every lambda calculus function.