3 ms·
What is the purpose of learning/teaching lambda calculus? I get that it's cool. In what ways it is an important or useful concept?
by rattray 12y ago
What is the purpose of learning/teaching lambda calculus? I get that it's cool. In what ways it is an important or useful concept?
- andrewflnr 12y agoIt's a simplified version of, basically[0], programming, in which it's easier to prove things. The same as any other piece of abstract math, really. [0] I'm waffling because I'm not 100% sure of the exact relationship or whether it's well-defined, but it's a close enough comparison.
- anon4 12y agoRather a simplified version of computing. Programming to me necessarily includes making machines do things.
- tel 12y agoIt's a model of programming. Rather, it's a remarkably simple model of programming. Any language could be interpreted [0] into it and thus its behavior is important for the comprehension of what "programming" means. But that's a bit weak. There are tons of models which achieve these properties. Turing Machines are popular. Why lambda calculus? One answer is that LC is easily augmented with things like simple types or System F types or Dependent Types to introduce the entire space of nice type systems that people are beginning to really enjoy these days. A better answer is that LC is essentially nothing more or less than a minimal description of what a "name" means. LC provides the simplest, best notion of variable yet imagined and its influence strikes every time you use one in any language (programmatic, logical, mathematical, human). This isn't the only way to go (for instance, the SKI calculus is equally powerful as LC, but manages to avoid all naming) but it's a remarkably powerful one which has, if popularity is any metric, been completely dominant throughout the entire history of languages. So, studying LC is a good way to learn about all that. [0] Side effects would have to be modeled "in universe", but the principle stands.