Dear friends,
In this web page listing the main functions that can be defined in λ-calculus<p><pre><code> http://jwodder.freeshell.org/lambda.html</code></pre>
one can guess the importance of this formalism as the "holy seed" of all programming languages, but one can be put off by its "esoteric" character. And then nothing is said about the implementation and everything has to be developed and reduced by hand. Good luck.
In this page (eternally under construction)<p><pre><code> http://lambdaway.free.fr/lambdawalks/?view=lambdacode5</code></pre>
I try to approach the λ-calculus in a "more modern" way, in the LISP/SCHEME parenthesis/prefixed notation, using of course lambdatalk, my iconoclastic implementation without closures, but also, opposite, lambdacode, an implementation with closures likely to arouse the interest of the orthodox.
We can see first of all that the differences are minimal most of the time. And we see how the absence of closures is easily compensated by a judicious combination of partial applications and IIFEs.
So there is a life outside of closures, lexical context and free variables, and in this life there are certainly no more "free variables" but the text becomes free of "quotation marks" and it becomes possible to write "novels" made of thousands of words in the air and portions of code waking up on demand, where writing {+ 1 2} is displayed 3 without any more complication than that.
It seemed to me that this could be of interest, both theoretically and practically. But I must have taken the wrong road...
Alain Marty