Skip to main content

Module kept

Module kept 

Source
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 make makes of what reader reads — what an editor draws of the part — kept between processes as key of the program runner runs, whose part reader reads: read back as keeper wrote 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).