Я просто читаю лямбда-исчисление, чтобы «узнать это». Я рассматриваю это как альтернативную форму вычислений в отличие от машины Тьюринга. Это интересный способ работы с функциями / сокращениями (грубо говоря). Некоторые вопросы продолжают мучить меня, хотя:
- Какой смысл в лямбда-исчислении? Зачем проходить все эти функции / сокращения? Какова цель?
- В результате у меня остается вопрос: что именно сделал лямбда-исчисление, чтобы продвинуть теорию CS? Что это был за вклад, который позволил бы мне иметь «ага» момент понимания необходимости его существования?
- Почему лямбда-исчисление не рассматривается в текстах по теории автоматов? Обычный маршрут - прохождение различных автоматов, грамматик, машин Тьюринга и классов сложности. Лямбда-исчисление включено только в учебную программу для курсов стиля SICP (возможно, нет?). Но я редко видел, чтобы это было частью основной учебной программы CS. Означает ли это, что это не так уж и ценно? Может и нет, а может я что-то здесь упустил?
Я знаю, что функциональные языки программирования основаны на лямбда-исчислении, но я не рассматриваю это как действительный вклад, поскольку он был создан задолго до того, как у нас появились языки программирования. Итак, на самом деле, какой смысл знать / понимать лямбда-исчисление, его приложения / вклад в теорию?
Functional Programming
обсуждал Haskell и немного Lisp. Преемник этого был Principles of Programming Languages
, который использовал ML и ввел лямбда-исчисление. Как показывают некоторые ответы, именно в этом и заключается лямбда-исчисление: в классе о языках программирования, наборе текста и т. Д.