Functional Programming, Programming, Programming Languages.
((λfunc.λarg.(func arg) λx.x) y) First expression is just an identity function. It returns the value it gets. The second expression sure doesn’t look all that great. But it gives a good idea of the things to come. If you dissect it, it is a function that takes the argument func and returns another