Три Lispy homoiconic языков, Dylan, Julia и Seph все отошли от ведущей скобки - так вызова гипотетической функции в Common Lisp, который будет выглядеть так:Что может потерять Clojure, перейдя от ведущих круглых скобок, таких как Dylan, Julia и Seph?
(print hello world)
Посмотрел бы, как следующий вызов гипотетической функции
print(hello world)
на трех упомянутых выше языках.
Если бы Clojure пошел по этому пути - что он должен был жертвовать, чтобы добраться туда?
Рассуждение: Помимо удивительных ленивых функциональных структур данных в Clojure и улучшенного синтаксис карт и seqs, поддержка языка для параллелизма на JVM платформы, оснастки и удивительном сообщества - отличительная вещь об этом будучи «LISP» является ведущей скобкой, дающей гомоконичность, которая дает макросы, обеспечивающие синтаксическую абстракцию.
Но если вам не нужны скобки - зачем им? Единственные аргументы, которые я могу думать о поддержании их в
(1) повторное использование инструмента поддержки в Emacs
(2) побудило людей «думать в LISP», а не пытаться рассматривать его в качестве еще одного процедурного языка)
Большая часть LISP эстетики является тривиальным parseability и удобство использования в качестве данных кода; вы потеряете часть этого. – zmccord
Функциональное приложение является лишь одной из многих возможных форм. Вы предлагаете относиться к ним по-другому? Clojure уже сделал ужасную вещь, отменив cons-клетки. Переход любого будущего полностью разрушит язык. –
См. Также http://stackoverflow.com/questions/643892/fixing-lisp-syntax. Этот вопрос напоминает мне разработчика Pascal, которого я знал, кто, столкнувшись с использованием C, хотел набор макросов, которые сделали C более похожим на Pascal. Я думаю, что всегда есть соблазн уменьшить свой дискомфорт от чего-то нового, заставив его быть более знакомым. И все же иногда для вас полезно подойти к чему-то другому на своих условиях. – user100464