Три шепелявых гомоиконичных языка , Dylan, Juliaи Sephубраны из начальных скобок, поэтому гипотетический вызов функции в Common Lisp будет выглядеть так:
(print hello world)
Будет выглядеть так: следующий гипотетический вызов функции
print(hello world)
на трех упомянутых выше языках.
Если бы Clojure пошел по этому пути, чем бы ему пришлось пожертвовать, чтобы добиться этого?
Рассуждение: Помимо удивительных ленивых функциональных структур данных в Clojure и улучшенного синтаксиса для карт и последовательностей, языковой поддержки параллелизма, платформы JVM, инструментов и потрясающего сообщества — отличительной чертой того, что это «LISP», является ведущая скобка. предоставление гомоиконичности, которая дает макросы, обеспечивающие абстракцию синтаксиса.
Но если вам не нужны начальные скобки — зачем они? Единственные аргументы, которые я могу придумать для их сохранения, это
(1) повторное использование поддержки инструментов в emacs
(2) побуждение людей «думать на LISP», а не пытаться рассматривать его как еще один процедурный язык)