Je suis en train de lire sur le calcul lambda pour "apprendre à le connaître". Je le vois comme une forme alternative de calcul par opposition à la machine de Turing. C'est une manière intéressante de faire les choses avec des fonctions / réductions (en gros). Certaines questions continuent à me harceler:
- Quel est l'intérêt du lambda calcul? Pourquoi passer par toutes ces fonctions / réductions? Quel est le but?
- En conséquence, je reste à me demander: qu'est-ce que le lambda calcul a fait exactement pour faire avancer la théorie de la CS? Quelles sont ses contributions qui me permettraient d'avoir un moment "aha" de compréhension de la nécessité de son existence?
- Pourquoi le lambda calcul n'est-il pas couvert dans les textes sur la théorie des automates? L'itinéraire habituel consiste à passer en revue divers automates, grammaires, machines de Turing et classes de complexité. Le lambda calcul n'est inclus dans le programme que pour les cours de style SICP (peut-être pas?). Mais j'ai rarement vu que cela faisait partie du programme de base de CS. Cela signifie-t-il que ce n'est pas si précieux? Peut-être pas et peut-être que je manque quelque chose ici?
Je suis conscient que les langages de programmation fonctionnels sont basés sur le lambda calcul, mais je ne considère pas cela comme une contribution valable, car ils ont été créés bien avant les langages de programmation. Alors, à quoi sert vraiment de comprendre / comprendre le lambda calcul, ses applications / contributions à la théorie?
Functional Programming
abordé Haskell et un peu de Lisp. Son successeur était le Principles of Programming Languages
ML et l’introduction du lambda calcul. Comme le montrent certaines réponses, c’est vraiment à cela que revient le lambda calcul: dans un cours sur les langages de programmation, la dactylographie, etc.