Some things I'd like to know:
- How to construct lambda functions from Turing machines and vice versa
- How to think about the Y-combinator (this is now almost un-googleable)
- What variants of the lambda calculus have been constructed and what their properties are
- How lambda functions relate to functions in the mathematical sense. Are they the same? Can you call them on real numbers? Are they continuous? Etc
Extra points if you can recommend a full theoretical treatment. I'm interested in really digging in to this topic.
Wikipedia is usually a pretty good place to start for any such question:
https://en.wikipedia.org/wiki/Lambda_calculus
there are a lot of external links and references there.
I don't know if there's a lot of work still being done with the original untyped lambda calculus but typed lambda calculi (or analogous models), on which I believe Haskell is based, are another story.
You may also find this interesting:
https://softwarefoundations.cis.upenn.edu/current/lf-current...
It's an introduction to the coq proof assistant which is based (at least to the best of my understanding) on a kind of typed lambda calculus. In the first few chapters you will learn how to construct the natural numbers and formally (ie. in a machine verifiable way) prove theorems about them.
The second part discusses lamda calculus and formalizes a version in Agda. The first part should introduce enough Agda to understand the second part.
If you like Haskell and Scheme, I think you would enjoy Agda as well. It’s (to simplify a lot) lambda calculus extended with dependent types, which imho feels more consistent and cohesive to understand than Haskell and all the various ghc extensions (for me at least, it was easier to understand the advanced extensions after having dealt with a fully dependently typed language)
I also think Benjamin Pierce’s Types and Programming Languages ( https://www.cis.upenn.edu/~bcpierce/tapl/ ) could be useful to you. It introduces lambda calculus as the computational foundation, and then builds various type theories on top of that.
Look on arxiv https://arxiv.org/abs/1503.09060