Какое официальное название для этого синтаксиса?
Иногда в Scheme у меня есть функции, которые принимают такие аргументы
add 3 4
Что вы называете такого рода "списком", где его элементы похожи a1 a2 a3
? Я не думаю, что вы можете назвать это списком, потому что списки содержатся в скобках, а элементы разделяются запятыми.
3 ответа
Лисп использует префикс или синтаксис польской нотации.
Польская нотация, также известная как префиксная нотация, является формой нотации для логики, арифметики и алгебры. Его отличительной особенностью является то, что он размещает операторы слева от своих операндов. Если арность операторов фиксирована, то в результате получается синтаксис без скобок или других скобок, который можно проанализировать без неоднозначности.
add
является оператором, а правая часть - операндами.
Арность операторов не фиксирована, поэтому Lisp использует в своем синтаксисе символы parens для группировки выражений.
Оператор (добавить 3 4) является "приложением функции" из лямбда-исчисления. 3 4 из выражения являются привязками для параметров; альтернативно, это список параметров для функции.