LINUX.ORG.RU

История изменений

Исправление 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] ...)