James: I haven't gotten to multimethods yet--I'll definitely check that out!
Jony: I use Gorilla REPL for basically all my clojure stuff already! It's really great, thanks so much. I know you can add stuff to project.clj to pretty-print everything in the repl, I was just wondering about targeting specific protocols and types. On Sun, Jul 13, 2014 at 2:29 PM, Jony Hudson <jonyepsi...@gmail.com> wrote: > You might also enjoy looking at Gorilla REPL [1], which has an easily > extensible renderer [2] for just this sort of thing. Disclosure: I'm one of > its authors! > > > Jony > > [1] http://gorilla-repl.org > [2] http://vimeo.com/89532785 > > > On Sunday, 13 July 2014 18:51:40 UTC+1, Sam Raker wrote: >> >> I'm working my way through an intro to Clojure book, and I just got to >> the section on protocols. I might be missing something/committing a >> category error, but I'm wondering if there's a way to change the way a >> protocol is represented in the repl, akin to redefining >> `__repr__`/`__str__` in Python. The example protocol in the book involves a >> matrix (i.e., a vector of vectors). I can do this >> >> (extend-protocol Matrix >> clojure.lang.IPersistentVector >> ... >> (pprint [vov] (clojure.pprint/pprint vov))) >> >> >> which works fine when I call (pprint m) on a Matrix m: >> >> (pprint m) >> ; [[0 0 0] >> [0 0 0] >> [0 0 0]] >> >> What I'd like is to just have the same behavior "calling" the variable >> from the repl, i.e. >> >> m >> ; [[0 0 0] >> [0 0 0] >> [0 0 0]] >> >> >> Can/should this be done? Is this a job for macros? Am I just being >> lazy/un-Clojuric and just get over it and use (pprint m)? >> > -- > 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 a topic in the > Google Groups "Clojure" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/clojure/ClQ4LwjyxNo/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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/d/optout.