conjure

:neovim:+:clj: https://github.com/Olical/conjure - If you're enjoying Conjure and want to say thanks: https://github.com/users/Olical/sponsorship :smile: (alt https://conjure.fun/discord)
2021-05-12T03:24:11.104100Z

Just upgraded conjure, the inline evaluation is very nice thanks for adding it back @olical (though I never saw the original impl which IIRC broke recently)

pithyless 2021-05-12T07:01:58.105100Z

jjkk:wq 👋

pithyless 2021-05-12T07:04:22.107300Z

I've got a question for the conjure users - can you point me to any workflows or plugins on how you work with big/nested map datastructures? Looking for something where I can fold/unfold and jump around without being overwhelmed by just pprint'ing everything to a text-based repl output.

Olical 2021-05-13T14:16:08.117600Z

I don't personally use any extra tooling, I've found the digging tooling in spacemacs/cider actually really frustrating and confusing, personally. Like adding a UI that isn't actually just text into my text editor always feels wrong to me. Like suddenly keys that have done one thing forever now do something else. So my approach is to get-in things where required or just use % to hop between matching braces, no matter how deep I am in a structure that'll work. You can also use vim-sexp etc to alter the forms, even raising one form out to work on it. Sometimes I'll go deep into a structure in the log and eval a nested part which extracts it and pprints it at the bottom of the log. So my approach is regular nvim keys / tools + evaluating sub-parts or using code to extract things. My REPL is the way I explore data 😄 Maybe not a super useful answer, but just some context of how I approach things (large data structures are actually a rare thing for me to even look at!)

pithyless 2021-05-13T15:03:47.135900Z

Thanks for the feedback! I'll often be working with large maps of data from outside sources and/or stuff that's not even printable (i.e. a nested map with a reference to some huge lazy-seq that would be a mistake to accidentally print when evaling); where I'd like tools to help me easily explore and poke around. I think part of the answer is the way you work with your REPL history (that I saw in one demo), where you treat it as another regular buffer and jump around and re-eval parts of the data to push it to the bottom of the log. But another part I believe may be pushing some of this work out of the text editor and into something that allows for different kinds of visualizations and interactions. Projects that come to mind are REBL, Reveal, and to some extent even things like Pathom Viz or Fulcro Inspect. I think what got me intrigued is that Calva running in essentially a browser can integrate some of those kinds of UI experiments possibly more seamlessly than outside tools. Nevertheless, the original post stemmed from an idea that if anyone knows how to deal with this kind of data archaeology without leaving the terminal, it would be the ViM folks. :)

pithyless 2021-05-13T15:07:22.136300Z

As a counter-point, one example of a "low-tech" way of exploring these kinds of data-structures is using malli/provide to help infer what the schema is given some example data set. This way, you get an imperfect but high-level idea of how heterogeneous your input data set is and maybe some better idea of what's inside.

pithyless 2021-05-12T07:17:07.107800Z

If this is enabled by default, feel free to just correct me. I'm currently an evil-mode doom-emacs (and reveal) user, but I'm wondering how well this works in other environments. I saw a video with calva with built-in folding/unfolding of these big nested data structures (which makes sense, considering the underlying browser); and I was a bit envious to be honest. 🙂 Wondering if the vim users have also solved this problem.

emilaasa 2021-05-12T13:30:18.108700Z

Hehe the eval highlighting is pretty slick!

emilaasa 2021-05-12T13:30:38.109300Z

Made me think of marking any changed-but-not-evaluated expressions somehow

dave 2021-05-12T14:14:36.110500Z

I've really grown to love the eval highlighting. It's super cool, and it turns out to be a great visual indicator when I'm pairing with people at work and sharing my screen. They can easily see what chunk of code I just evaluated. Awesome work on the eval highlighting! 💯

dharrigan 2021-05-12T15:26:07.110800Z

I missed that, is that enabled by default with conjure?

dave 2021-05-12T15:28:03.111100Z

No, you have to enable it.

dharrigan 2021-05-12T15:29:25.111500Z

Found it

emilaasa 2021-05-13T12:44:11.114400Z

Nightly has been working well for me

emilaasa 2021-05-13T12:44:21.114600Z

from aur - if you wanna give it a shot

dharrigan 2021-05-13T12:44:48.114800Z

Maybe 🙂

dharrigan 2021-05-13T12:44:55.115Z

I've been a hold out for far too long

emilaasa 2021-05-13T12:47:49.115200Z

I don't think I had to change anything except running PlugInstall again

dharrigan 2021-05-13T13:42:19.115600Z

Installed.

dharrigan 2021-05-13T13:42:21.115800Z

So far so good.

dharrigan 2021-05-12T15:29:26.111700Z

ta

dharrigan 2021-05-12T15:30:33.111900Z

ah, only with neovim 5+

dharrigan 2021-05-12T15:30:44.112200Z

one day....one day....neovim 5 will be out

2021-05-12T18:31:30.112700Z

oh, dang I didn't know about the eval-highlighting feature. Rad!

âž• 1
2021-05-12T23:35:40.112800Z

[Olical/conjure] Issue opened by Akeboshiwind

emilaasa 2021-05-13T13:08:12.115400Z

I wonder if he by support means the named mappings here or what?