On Nov 27th, we had the 16th meeting of the visual-tools group, a group for collaborations across different Clojure projects for literate programming and data visualization.
I’m too excited to wait so I’ll just offer my 2 cents here:
I really appreciate the goal statement: turning normal Clojure namespaces into Notebooks. As someone who does no data stuff whatsoever, I can’t use notebooks for my normal day-to-day work.
The Notebook approach closes the hole that VSCode has: we cannot show a nice HTML popup of the evaluated code results in the main editor.
I think that the work done in Calva & Portal might help a lot in circling back to the calva.output window (perhaps making it a web view where the evaluated results are mini-portals?) - and if VSCode ever adds HTML popups, Calva could show mini-portals in there too.
Notebooks have some pretty dangerous buttons like “execute all”, but Clojure code in rich comment forms is written with the assumption that it will be run manually. I definitely have dangerous side effects in my rich comment forms, especially in namespaces that are meant to “patch production”.
Performance can be problematic if there are so many mini-portal elements on the screen. Perhaps for scalar values (booleans, numbers etc) and definitely for functions, it would be nice if Portal was skipped entirely.
A riff on the above, sometimes a pretty-printed value is enough, that could probably be provided by Calva rendering the output script to static HTML and having that as an option? Then Portal could be opt-in instead of the default for all evaluations.
Thanks for getting this off the ground, it looks like a great addition to Calva!