4 ms·
Understanding modern functional programming via pure lambda calculus is somewhat like understanding C++ via raw assembly. Which is to say, you'll have a great l
by camccann 17y ago
Understanding modern functional programming via pure lambda calculus is somewhat like understanding C++ via raw assembly. Which is to say, you'll have a great low-level understanding to build on but a long, long road ahead.
It is a lot of fun, though. I once spent a delightful afternoon puzzling out how to subtract Church numerals knowing only that it was possible to do so, having previously worked out the far simpler addition and multiplication functions. Highly recommended!
- jacquesm 17y agoI figure you can't really say you understand a programming language until you can re-implement it from the ground up. So that's my intermediate goal. Spot on about C/C++ through the assembler route by the way, if there is one excellent way to really grok those then it is via the -S flag.
- fogus 17y agoImplementing a language is complicated enough that by doing so you fully learn the implemented language AND the language used for implementation. Win-win!
- Agent101 17y agoI find lambda calculus needed when you get into some of the subjects that functional programming languages are a gateway to. It definitely helps when trying to read the Coq manual.