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
andmodule2.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
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?
— https://mobile.twitter.com/MarijnJH/status/1191720489523318786
+->B->E-+
| |
A +->F->G
| |
+->C->D-+
represented as a tree:A
+ B
| + E
| + F
| + G
+ C
+ D
+ F
+ G
F
depends on E
and D
- this is used in Makefiles
for exampleNodes on the board can hold internal state, which other nodes can react to, forming a computational DAG: