Hacker News new | ask | show | jobs
by vaughan 987 days ago
My dream is to make everything visualizable at runtime. I think all of computing becomes very simple and much less complex if we can do this.

We are visualizing things in our head already. And any explanation of anything in computing is a diagram. But we have zero diagrams when coding.

Just dynamically instrument all code to send messages to a GUI.

2 comments

>My dream is to make everything visualizable at runtime.

Check out demos of the old Lisp Machines, [1] is a brief overview demo, [2] links to a timestamp with a view of some simple diagramming, but I’ve seen TI-Symbolics beasts routinely display complex relationships in Lisp code on their massive (for the time) bitmapped screens. The limitation was the end user managing the visualization complexity.

With open source llvm, clang and similar making available abstract syntax trees and even semantic analysis and type checking results, LLM’s assisting with decompiling binary blobs, and modern hardware (goggles, graphics cards, and so on), I sometimes wonder how close we can come to reproducing that aspect of the Lisp Machine experience on open source operating systems.

[1] https://youtu.be/o4-YnLpLgtk

[2] https://youtu.be/jACcgLfyiyM?t=43m52s

Clojure does pretty well. See https://github.com/nubank/morse, https://docs.datomic.com/cloud/other-tools/REBL.html, and https://vlaaad.github.io/reveal/.

It's one of the areas that homoiconicity helps: code is data, data is code, so visualization tools can work on both sides.