John Mastro <john.b.mas...@gmail.com> writes:

> This isn't a very deep question, but I wonder every time I come across
> it: to what does "-dup" in `print-dup` and `*print-dup*` refer?

I don’t have any special knowledge in this regard, but I’ve always
thought of it as “duplicate,” which makes some sense when you think of
how it’s used.  AFAIK, `print-dup` exists to provide objects which
doen’t normally print to `read`able form an alternative form which is
`read`able.  The compiler can then use the `print-dup` form to embed
instance objects in code, by generating code which produces duplicates
via round-tripping through the reader.

    user> (print-method (fn []) *out*)
    #<user$eval1328$fn__1329 user$eval1328$fn__1329@6dc8f3cd>
    nil
    user> (print-dup (fn []) *out*)
    #=(user$eval1332$fn__1333. )
    nil

-Marshall

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to