Что потеряет Clojure, отказавшись от начальных скобок, таких как Dylan, Julia и Seph?

Три шепелявых гомоиконичных языка , Dylan, Juliaи Sephубраны из начальных скобок, поэтому гипотетический вызов функции в Common Lisp будет выглядеть так:

(print hello world)

Будет выглядеть так: следующий гипотетический вызов функции

print(hello world)

на трех упомянутых выше языках.

Если бы Clojure пошел по этому пути, чем бы ему пришлось пожертвовать, чтобы добиться этого?

Рассуждение: Помимо удивительных ленивых функциональных структур данных в Clojure и улучшенного синтаксиса для карт и последовательностей, языковой поддержки параллелизма, платформы JVM, инструментов и потрясающего сообщества — отличительной чертой того, что это «LISP», является ведущая скобка. предоставление гомоиконичности, которая дает макросы, обеспечивающие абстракцию синтаксиса.

Но если вам не нужны начальные скобки — зачем они? Единственные аргументы, которые я могу придумать для их сохранения, это

(1) повторное использование поддержки инструментов в emacs

(2) побуждение людей «думать на LISP», а не пытаться рассматривать его как еще один процедурный язык)

25
задан Lyndon White 24 June 2017 в 04:07
поделиться