Expand description
What a program built, kept between processes: reopening a program whose steps and inputs did not change builds nothing.
Every node knows how it was made, in terms that mean the same in every
process ([Derivation]): a digest of its arguments, and for each thing it
read, what it read ([KeptRead]) and a digest of what that was — of the
node it read, of an input’s or a state’s value, of a file’s text. A
node’s own digest (Digest) is one of how it was made, so two nodes of
one digest hold one value, in any process: makes are plain functions of
their arguments and what they read (see crate::part::Make). A node
made again into a value equal to the last keeps its digest, as it keeps
its version.
A target whose type says how its values are written (Keeper) has its
nodes kept in the cache file of the program they were built by, beside it
(part.geop.geopc, see crate::cache): the value, how it was made and
its digest ([Record]). A node a run would make is taken from there
instead when its arguments are the same and every read reads the same
now — the same digest, in this process — and only then: what a record
says is never trusted, it is checked. Parts of values shared between
records — the faces two revisions of a model have alike — are written
once (Pool).
What is made of a part outside its program — a drawing of it, which an
editor makes of what a reader reads — is kept the same way, as made of
the program as a whole rather than by one of its steps (made_kept).
A cache file is of one build of the kernel and one version of its format
(FORMAT): any other is not read, and is replaced when it is written
again.
Structs§
- Digest
- A digest of how a node was made, or of what it read: the same in every process for the same thing (see the module). Written as hex.
- Keeper
- How the values of a target type are written to be read back exactly, in another process (see the module): a target without one is made again in every process.
- Pool
- Values the records of one cache file share, each written once, by the digest of its text: a model’s faces, which every revision of the model that kept them holds alike.
Constants§
- FORMAT
- The version of the format a build is kept in: a cache file of another version is not read.
Functions§
- made_
kept - What
makemakes of whatreaderreads — what an editor draws of the part — kept between processes askeyof the programrunnerruns, whose partreaderreads: read back askeeperwrote it where an earlier process made it of what reads the same now, else made, and noted to be kept. With what it read (Reader::recorded).