I was watching the lecture by Jim Weirich, titled 'Adventures in Functional Programming'. In this lecture, he introduces the concept of Y-combinators, which essentially finds the fixed point for higher order functions.One of the motivations, as he mentions it, is to be able to express recursive functions using lambda calculus so that the theory by Church (anything that is effectively computable can be computed using lambda calculus) stays.The problem is that a function cannot call itself simply so, because lambda calculus does not allow named functions, i.e.,$$n(x, y) = x + y$$cannot bear the name '$n$', it must be defined anonymously:$$(x, y) \rightarrow x + y $$Why is it important for lambda calculus to have functions that are not named? What principle is violated if there are named functions? Or is it that I just misunderstood jim's video?
Why is it important for functions to be anonymous in lambda calculus?
lambda calculus;functional programming
The main theorem regarding this issue is due to a British mathematician fromthe end of the 16th century, called William Shakespeare. His best knownpaper on the subject is entitled Romeo and Juliet was published in1597, though the research work was conducted a few years earlier,inspired but such precursors as Arthur Brooke and William Painter.His main result, stated in Act II. Scene II, is the famous theorem:  What's in a name? that which we call a rose  By any other name would smell as sweet;This theorem can be intuively understood as names do not contributeto meaning.The greater part of the paper is devoted to an example complementingthe theorem and showing that, even though names contribute no meaning,they are the source of endless problems.As pointed out by Shakespeare, names can be changed without changingmeaning, an operation that was later called $\alpha$-conversion by AlonzoChurch and his followers. As aconsequence, it is not necessarily simple to determine what is denotedby a name. This raises a variety of issues such as developing aconcept of environment where the name-meaning association arespecified, and rules to know what is the current environment when youtry to determine the meaning associated with a name. This baffledcomputer scientists for a while, giving rise to technicaldifficulties such as the infamous Funarg problem. Environments remainan issue in some popular programming languages, but it is generallyconsidered physically unsafe to be more specific, almost as lethal asthe example worked out by Shakespeare in his paper.This issue is also close to the problems raised in formal language theory,when alphabets and formal systems have to be defined up to anisomorphism, so as to underscore that the symbols of the alphabets areabstract entities, independent of how they materialize as elementsfrom some set.This major result by Shakespeare shows also that science was then divergingfrom magic and religion, where a being or a meaning may have a true name.The conclusion of all this is that for theoretical work, it is oftenmore convenient not to be encumbered by names, even though it may feelsimpler for practical work and everyday life. But recall that noteveryone called Mom is your mother.Note:The issue was addressed more recently by the 20th century American logicianGertrude Stein. However, her mathematician colleagues are stillpondering the precise technical implications of her main theorem:  Rose is a rose is a rose is a rose.  published in 1913 in a short communication entitled Sacred Emily.