Computational DAGs
  • Makefile triggers only updates to what changed (how?)
    main: main.o module1.o module2.o
        g++ main.o module1.o module2.o -o main

    To build the file main, I need to first make sure that targets main.o, module1.o and module2.o are up to date; then I need to call the following command...

    To be "up to date" means that the last-modified time of [output file] is newer than any of its prerequisites' last-modified times

  • React redraws UI based on state change, ideally recalculating only what changed
    • there's a tension between this approach, and imgui one, where UI is drawn every frame, and there's no need to calculate diffs
  • is this related to signal-collect graphs or VPLs?
  • this is also somewhat related to structural sharing in Clojure

Are there any incremental computation systems that treat inputs not as mutable cells, but model the whole system as a persistent data structure, and updates create a new, structure-sharing instance?

Connections are Usually Better than Taxonomies

  • this idea is also related to computational DAGs - building a graph of computation, instead of organising everything into a tree of objects


Nodes on the board can hold internal state, which other nodes can react to, forming a computational DAG:

Szymon Kaliski © 2020