I did appreciate your original 2014 version and I still love the way you speak of Lisps. About functional programming you write "Functional programming refers to a stricter style where functions receive certain data as input, process only that data, and return a result." and it's a common way of defining it. But most languages - and Lisps too - comes with closures and lexical scoping and (IMHO) that breaks the functional purity. Thanks to a closure an inner function can work on variables defined in the outer function, free variables can be defined and used out of the arguments list. It's nothing but side effects, the function is not isolated in a black box. Maybe you can think that the lack of closure is a strong weakness of a language. It is and it is not! You can see what can be done without closures in the [lambdaway project](<a href="http://epsilonwiki.free.fr/lambdaway/" rel="nofollow">http://epsilonwiki.free.fr/lambdaway/</a>). And so with a true functional language. Your opinion is welcome.