Ralph
Ralph

Reputation: 32284

Clojure #= reader macro

I just "discovered" the #= reader macro from a post on Stackoverflow and it solves a problem. How likely is this reader macro to become an official (documented) part of the language? How about deprecated or changed behavior?

The #= reader macro causes the following s-expression to be evaluated by the Lisp reader (before macro expansion).

Upvotes: 14

Views: 2053

Answers (2)

solussd
solussd

Reputation: 494

It's not documented because it could go away / be replaced with something else. I wouldn't recommend using it in your programs.

Upvotes: 3

Jouni K. Seppänen
Jouni K. Seppänen

Reputation: 44118

It is used by the core language when something is printed with *print-dup* true, so I'd wager that it is going to stay. No idea why it is not documented.

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

Upvotes: 5

Related Questions