Утверждение не является то, что теоремы в плоской геометрии могут быть доказаны с использованием примитивов Lisp. Думать, что это пропустить аналогию. Я переписал предложение, надеясь, что это не позволит людям думать об этом. Правильная аналогия не нова; Статья Грэма открывается замечанием, что Маккарти «сделал для программирования что-то вроде того, что сделал Евклид для геометрии.«
Системы математического мышления были умом Маккарти, когда он разрабатывал Lisp. В своей ретроспективе 1979 года по истории Лиспа он отмечает, что« теперь легче доказать, что чистые программы Lisp соответствуют их спецификациям, чем для любой другой язык программирования в широком использовании ». И это потому, что примитивы Lisp имеют ссылочную прозрачность, свойство, которое они разделяют с математической нотацией. Любая программа, которая может быть реализована примитивами, разделяет свойство. Математическая аккуратность выплачивает дивиденды, когда вы должны рассуждать о ваша программа.
понятие, что «доказательство программа» сделано точное соответствие Карри-Говард.
Ссылки:
McCarthy on "mathematical neatness"
Карри-Говарда Переписка (википедия)
Корни Лиспе, Пол Грэм
ссылочной прозрачности (wikipdia)