From f5c4a2c91f3f5902f8d64fe15c40db29d064ee12 Mon Sep 17 00:00:00 2001
From: Alan Malloy <alan@malloys.org>
Date: Thu, 5 Jul 2012 18:01:46 -0700
Subject: [PATCH] Make lvar print readably

---
 src/main/clojure/clojure/core/logic.clj |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/main/clojure/clojure/core/logic.clj b/src/main/clojure/clojure/core/logic.clj
index 4e47d36..91669e1 100644
--- a/src/main/clojure/clojure/core/logic.clj
+++ b/src/main/clojure/clojure/core/logic.clj
@@ -314,8 +314,10 @@
            name (str name "_" (. clojure.lang.RT (nextID)))]
        (LVar. name (.hashCode name) cs {:name oname}))))
 
-(defmethod print-method LVar [x ^Writer writer]
-  (.write writer (str "<lvar:" (.name ^LVar x) ">")))
+(defmethod print-method LVar [^LVar v ^Writer writer]
+  (.write writer "#")
+  (.write writer (str `LVar))
+  (print-method [(.name v) (.hash v) (.cs v) (.meta v)] writer))
 
 (defn lvar? [x]
   (instance? LVar x))
-- 
1.7.4.1

