Будучи новичком в Lisp Мне интересно, может ли синтаксис Lisp "фиксироваться"?
Некоторые говорят, что синтаксис в Lisp является одной из самых сильных сторон. Я не совсем понимаю это.
Невозможно ли заменить "очевидные" круглые скобки комбинацией белых пространств, новых строк и отступов? Как в Python?
Мне кажется, что круглые скобки являются наиболее часто используемыми символами в коде Lisp. Мне интересно, правда ли это, но если это так, разве это не предложение, что в синтаксисе есть избыточность?
Есть ли простой ответ на вопрос - почему так много круглых скобок?
Например:
(defun factorial (x)
(if (= x 0)
1
(* x
(factorial (- x 1)))))
Почему бы и нет:
defun factorial (x)
if (= x 0)
1
* x
factorial
- x 1
например. закрыть круглые скобки в конце строки и всегда открывать их на новых строках. Только 1 будет двусмысленным - это 1 или (1), но мы можем ввести исключение - одиночные токены не "перечисляются".
Может ли это работать?
Edit: