Подтвердить что ты не робот

Clojure # = макрос читателя

Я просто "открыл" макрос читателя #= из сообщения в Stackoverflow и это решает проблему. Насколько вероятно, что этот макрос читателя станет официальная (документированная) часть языка? Как насчет устаревших или изменилось поведение?

Макрос чтения #= вызывает следующее s-выражение, которое может быть оценено читателем Lisp (перед расширением макроса).

4b9b3361

Ответ 1

Он используется основным языком, когда что-то напечатано с помощью * print-dup * true, поэтому я бы сделал ставку на то, что он останется. Не знаю, почему это не документировано.

user=> (binding [*print-dup* true] (prn {:foo 1 :bar 2}))
#=(clojure.lang.PersistentArrayMap/create {:foo 1, :bar 2})
nil

Ответ 2

Он не задокументирован, потому что он может уйти/заменить другим. Я бы не рекомендовал использовать его в ваших программах.