Znaczenie słów nie jest ustalone, ale mogę podać moją interpretację.
Rachunek jest coś, co możemy obliczyć ze w sensie równań żonglerka (myślę manipulacji szereg Taylora lub obliczania całek w analizie). Rachunek mówi nam, jakie są reguły manipulacji, ale nie, które z nich powinniśmy zastosować w danej sytuacji.
Język programowania jest coś, co mówi nam, jak obliczyć. Mówi nam dokładnie, jak korzystać z reguł. Zazwyczaj pozwalamy komputerowi korzystać z reguł, ponieważ jest to znacznie szybsze. Reguły mogą być niedeterministyczne i mogą istnieć bardzo dobre powody, dla których są niedeterministyczne. Charakter rachunku może być taki, że nie jest on deterministyczny (myśl współbieżne procesy komunikacyjne), lub ustalenie konkretnej strategii może być szkodliwe dla technik wdrażania i optymalizacji.
λλ
Natomiast Standard ML jest językiem programowania. Podano go w kategoriach semantyki operacyjnej, tj. Reguł obliczeniowych. Są to pochodne pojęcia równości (równoważności kontekstowej, równoważności obserwacyjnym, etc.), które możemy umieścić na nim myśleć o nim jako o rodzaju rachunku.
Oczywiście często istnieją użyteczne połączenia między rachunkiem a jego manifestacją jako języka programowania. Konfluentna normalizacja jest tylko jednym ze sposobów przejścia z rachunku różniczkowego na język programowania (chociaż niestety niektórzy ludzie przeszli na religię). Ważna jest wzajemna zależność między rachunkowymi a językami programowania: języki programowania mogą być faktycznie używane, ale rachunki wyjaśniają, o czym są programy.
Aby denerwować ludzi, pozwólcie mi również stwierdzić, że udawanie, że nie ma różnicy między rachunkiem a jego manifestacją operacyjną, czasami prowadzi do wypaczonych poglądów na temat programowania i mini-religii w społeczności programistów. Możesz spróbować zgadnąć, który język mam na myśli. (To bardzo fajny język!)