Fork me on GitHub
#cider
<
2016-12-03
>
jfntn06:12:57

Kinda blown away by the part I linked to

jfntn06:12:44

Wondering what it’d take to get something like this in the cider debugger

jasongilman09:12:18

I was talking with @cfleming last night about some alternatives that might work for emacs and Cursive. I think the original approach I used with using the browser outside the editor would work but with prepackaged visualizations.

jasongilman09:12:11

That wouldn't do everything like inline displays but you could probably show those details in a buffer in emacs.

jfntn13:12:48

Hi @jasongilman, congrats on the talk and release, very impressive stuff! Though I really like to UI work you’ve done in proto-repl I was most impressed with the rebinding locals trick you showed in that part of the talk. I’d love to hear more about how that works

jasongilman14:12:45

Thanks! Rebinding locals is just using def to set them as vars. That could potentially be problematic but in practice people have different names for locals and vars and clojure.tools.namespace reloading undoes that.

jfntn14:12:05

oh interesting, I haven’t tried that part of the demo myself, but am I correct in assuming that you’re able to suspend execution at the expression level and then redefine/eval the next form while maintaining the evaluation context of the parent exprs up to that point?

richiardiandrea14:12:57

I second, the talk was super awesome and the editor has grown to be a cider competitor (which is a big deal indeed!). This is so so good for the Clojure ecosystem :)

jasongilman14:12:03

No it's much less clever than that. I would categorize the save feature as fancy defs. It's evaluating exactly what you ask it to evaluate.

jasongilman14:12:21

Thanks @richiardiandrea

jasongilman14:12:16

If you take local binding values and make vars of the same name and value then evaluating the expressions just works.

naomarik15:12:30

that's super useful, i've been doing this manually lately by inserting a def inside my code and rerunning the function with the def as an argument

naomarik15:12:40

pretty awesome that you streamlined it like that