Значение слов не зафиксировано, но я могу дать вам свое толкование.
Исчисление является то , что мы пересчитываем в смысле жонглирования уравнений (думаем манипуляцию ряда Тейлора или вычисления интегралов в анализе). Исчисление говорит нам, каковы правила манипуляции, но не какие из них мы должны использовать в данной ситуации.
Язык программирования является то , что говорит нам о том , как рассчитать. Это говорит нам точно, как использовать правила. Обычно мы позволяем компьютеру использовать правила, так как это намного быстрее. Правила могут быть недетерминированными, и могут быть очень веские причины их недетерминированности. В основе исчисления может лежать то, что оно недетерминировано (например, параллельные процессы общения), или исправление конкретной стратегии может быть вредным для методов реализации и оптимизации.
λλ
В отличие от стандартного ML является языком программирования. Он дается в терминах операционной семантики, т. Е. Правил вычислений. Есть производные понятия равенства (контекстуальная эквивалентность, наблюдательная эквивалентность и т. Д.), Которые мы можем поставить поверх этого, чтобы рассматривать его как своего рода исчисление.
Конечно, часто существует полезная связь между исчислением и его проявлением в качестве языка программирования. Нормализация слияния - это всего лишь один из способов перехода от исчисления к языку программирования (хотя, к сожалению, некоторые люди превратили его в своего рода религию). Взаимодействие между исчислениями и языками программирования важно: языки программирования действительно могут использоваться, но исчисления объясняют, о чем эти программы.
Просто чтобы раздражать людей, позвольте мне также заявить, что притворство о том, что нет никакого различия между исчислением и его операционным проявлением, иногда приводит к искаженным взглядам на программирование и мини-религии в сообществе программистов. Вы можете попытаться угадать, какой язык я имею в виду. (Это очень крутой язык!)