История изменений
Исправление Nervous, (текущая версия) :
Ничем иначе невозможно объяснить, что люди могут считать нормой, когда функция создаётся одним служебным словом и четырьмя скобками:
(lambda () …)
А как ты предлагаешь это делать? Специальный литерал придумать, типа #(...)
? А как его программно конструировать/изменять?
а для создания локальной переменной нужно слово и 6 скобок:
(let ((a 1)) …)
Просто биндинг может быть как парой символ-выражение, так и просто символом, и тогда подразумевается, что его значение должно быть nil. Отсюда лишние скобки.
В кложе это выглядит так — если нужен nil, пишешь явно. Скобок становится гораздо меньше.
(let [a 1] ...)
Исправление Nervous, :
Ничем иначе невозможно объяснить, что люди могут считать нормой, когда функция создаётся одним служебным словом и четырьмя скобками:
(lambda () …)
А как ты предлагаешь это делать? Специальный литерал придумать, типа #(...)
? А как его программно конструировать/изменять?
а для создания локальной переменной нужно слово и 6 скобок:
(let ((a 1)) …)
Просто биндинг может быть как парой символ-выражение, так и просто символом, и тогда подразумевается, что значение nil. Отсюда лишние скобки.
В кложе это выглядит так — если нужен nil, пишешь явно. Скобок становится гораздо меньше.
(let [a 1] ...)
Исходная версия Nervous, :
Ничем иначе невозможно объяснить, что люди могут считать нормой, когда функция создаётся одним служебным словом и четырьмя скобками:
(lambda () …)
А как ты предлагаешь это делать? Специальный литерал придумать, типа #(...)
? А как его программно конструировать/изменять?
а для создания локальной переменной нужно слово и 6 скобок:
(let ((a 1)) …)
Просто биндинг может быть как парой символ-выражение, так и просто символом, и тогда подразумевается, что значение nil. Отсюда лишние скобки.
В кложе это выглядит так — если нужен nil, пишешь явно. Скобок становится гораздо меньше.
(let [a 1] ...)