Какое официальное название для этого синтаксиса?

Иногда в Scheme у меня есть функции, которые принимают такие аргументы

add 3 4

Что вы называете такого рода "списком", где его элементы похожи a1 a2 a3? Я не думаю, что вы можете назвать это списком, потому что списки содержатся в скобках, а элементы разделяются запятыми.

3 ответа

Решение

Лисп использует префикс или синтаксис польской нотации.

Польская нотация, также известная как префиксная нотация, является формой нотации для логики, арифметики и алгебры. Его отличительной особенностью является то, что он размещает операторы слева от своих операндов. Если арность операторов фиксирована, то в результате получается синтаксис без скобок или других скобок, который можно проанализировать без неоднозначности.

add является оператором, а правая часть - операндами.

Арность операторов не фиксирована, поэтому Lisp использует в своем синтаксисе символы parens для группировки выражений.

Оператор (добавить 3 4) является "приложением функции" из лямбда-исчисления. 3 4 из выражения являются привязками для параметров; альтернативно, это список параметров для функции.

Другие вопросы по тегам