unrepl

discussing specification of an edn-based repl and its implementations.
cgrand 2019-03-19T10:48:50.010400Z

@mauricio.szabo the elision should work

cgrand 2019-03-19T10:49:48.011400Z

Generally I understand your problem and I’d like to come up with some good solution that doesn’t involve duplicating custom printers

cgrand 2019-03-19T10:57:30.015800Z

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.

cgrand 2019-03-19T10:58:00.016500Z

The first (open) part looks a lot like datafy

bozhidar 2019-03-19T12:34:16.016800Z

I see printify in the future. 🙂

mauricio.szabo 2019-03-19T12:44:27.018700Z

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:

mauricio.szabo 2019-03-19T15:09:26.021900Z

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...

mauricio.szabo 2019-03-19T21:51:26.023200Z

Yes, I'm aware of that. But it doesn't parses bad keywords and symbols inside java objects that renders like Clojure ones

mauricio.szabo 2019-03-19T21:52:11.024Z

(and I don't really expect it to, btw)