メタデータを含めたPretty Print

ここから抜粋

https://groups.google.com/forum/?fromgroups#!topic/clojure/5LRmPXutah8

(use 'clojure.pprint)

(defn ppm [obj]
  (let [orig-dispatch *print-pprint-dispatch*]
    (with-pprint-dispatch 
      (fn [o]
        (when (meta o)
          (print "^")
          (orig-dispatch (meta o))
          (pprint-newline :fill))
        (orig-dispatch o))
      (pprint obj))))