It's solved, as @fingertoe explained, Pretty Print should be disabled at Proto REPL settings. It's for Clojurescript rendering.
Hi, I checked but couldn't find a related issue or Slack conversation.
If the function result is a number, it is casted to Javascript number before printed to REPL right?
For example,
1.79E+308
is printed as it is to the REPL or inlined but
1.80E+308
is printed as Infinity
because it's over Number.MAX_VALUE.
or
(/ 1 2)
is a ratio but printed as 0.5
to the REPL, this might be confusing.
So we should consider the Javascript casting rules. Using println
solves this problem but it's a little bit tricky. Maybe numeric results need to be treated as Strings to escape casting. I checked the sources but couldn't figure out how.
@jasongilman I've finally had a chance to watch your conj talk on proto-repl. Thanks so much for making this project happen, and for doing that talk. It is really awesome to have, I can't stress enough how much joy it brings for me to be able to clojure in atom, vs. emacs (tried and failed), or cursive (too much bulk/clutter). I tried proto-repl in May/June last year, and went away for a while. trying cursive for a bit. Then I tried it back again around October/November I think, once the console view had had a make-over, and I've been hooked ever since. I would love to help out, please shout if there are any low hanging fruit / entry-level bugs or feature requests you would like me to look at. I am sure there are plenty of others who feel similar. BTW, the save and replay feature blew my mind. I read about it in the README, but I didn't think to try it, but watching you use it in the talk really brought it home for me. I can't wait to use it for some greater good.
@sercanu the ratio thing is due to the pretty print feature rendering clojurescript. (Clojurescript doesn’t support ratios) If you turn the pretty printing off in the options, you will get ratios again..
@fingertoe thank you so much, you're right. Now ratios are back.
Question about the proto-repl
library: if I’m including that, I no longer need CIDER (`cider/cider-nrepl`) or refactor-nrepl
, is that correct? I just realized I still have those in my build.boot
file from when I was using Emacs...