@mauricio.szabo the elision should work
Generally I understand your problem and I’d like to come up with some good solution that doesn’t involve duplicating custom printers
To me it stems from a fundamental asymmetry in Clojure: printing is extensible without bounds while reading is rather closed (no custom readers). If print was split in two: one open part providing a data representation and one closed part serializing it to stream then it would be easier to interecept and modify.
The first (open) part looks a lot like datafy
I see printify
in the future. 🙂
Yeah, I found the problem. I don't even know what happened, but the idea is that somehow the pr-str
was working over an elided collection, so the "next" element was just ...
:face_with_rolling_eyes:
My great joy would be the day I can read (doto (java.util.LinkedList.) (.add (keyword "foo bar") 10))
with UNREPL 😄. But I also agree that its not unrepl's responsibility to try to understand even invalid EDN, so...
https://github.com/Unrepl/unrepl/blob/master/src/unrepl/printer.clj#L207-L209
Yes, I'm aware of that. But it doesn't parses bad keywords and symbols inside java objects that renders like Clojure ones
(and I don't really expect it to, btw)