4 ms·
I have dreamed about an extremely rich document which actually presents the internal state of the runtime and compiler. So all the abstract syntax tree and cont
by samsquire 3y ago
I have dreamed about an extremely rich document which actually presents the internal state of the runtime and compiler. So all the abstract syntax tree and control flow graph, SSA and data structures are presented in different sections of the document. Have animations of data flow too.
It could double as REPL and you can reach into any part of the compiler pipeline and write your own transformations.
Does anybody remember the documentation for Backbone? The "annotated source" documentation was side by side the code, it was really helpful.
https://backbonejs.org/docs/backbone.html https://backbonejs.org/docs/backbone.html (This is the annotated source) Imagine if it was "alive"?
I have practically no exposure to Bazel and Buck but these advanced build systems have advanced refresh logic which is feels it is an advanced caching.
These systems and Makefiles essentially do refresh logic/regeneration from changed sources. Maybe it could be like Greenspun's 10th rule, every system eventually builds its own caching system and refresh logic and dirty-rechecking. (See React's virtual DOM)
[1]: https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule
There's also crossovers with Knuth's literate programming here. And spreadsheets.
- remexre 3y agoYou might be interested in CodeProber: https://www.youtube.com/watch?v=lkTJ4VL0xtY https://www.youtube.com/watch?v=lkTJ4VL0xtY
- ilikehurdles 3y agoThis seems within reach of Livebooks. I typically write livebooks attached to my running elixir dev node which just a plain elixir project. So it’s a side-by-side notebook and library development all in the same runtime. Elixir’s VM is highly observable so a lot of what you mention should be possible out of the box, but I’m not sure if anyone has glued all those pieces together in a neat prebuilt package.