Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-08-04 | move closure property to discussion references | Valentin Gagarin | |
2022-08-04 | replace pseudo code by diagrams | Valentin Gagarin | |
change prose description to visually resemble the data structure | |||
2022-08-04 | use reference links for URLs | Valentin Gagarin | |
2022-08-04 | clarify first sentence on store objects | Valentin Gagarin | |
2022-08-04 | fix grammar for clarity | Valentin Gagarin | |
2022-08-04 | introduce mapping to Unix files and processes | Valentin Gagarin | |
2022-08-04 | introduce store and store objects without file system details | Valentin Gagarin | |
this leaves open implementation details, especially about store paths and file system objects, and allows explaining them together were it is more appropriate. also leaves room to carefully introduce the key insight behind Nix: applying results from programming language theory to the operating system paradigm of files and processes. | |||
2022-08-04 | beautify rosetta table | Valentin Gagarin | |
while this may eventually introduce ugly diffs, the table will now render readably on the terminal (e.g. for `man nix` or `nix --help`) without further intervention. | |||
2022-08-04 | use reference links for URLs | Valentin Gagarin | |
2022-08-04 | introduce build tasks | Valentin Gagarin | |
while it appears a bit much for the overview, this way we set the stage for going directly into data types when describing the store, instead of first having to say what build tasks are and how they relate to build plans. | |||
2022-08-04 | revert to build plans in top-level overview | Valentin Gagarin | |
do not introduce build tasks yet, that is the next level of detail. | |||
2022-08-04 | use reference links for URLs | Valentin Gagarin | |
2022-08-04 | revert to "build plan" in overview diagram | Valentin Gagarin | |
this displays correct composition again. build inputs and build results are not part of build plans in terms of data objects. also this is a much less complicated setup. this will be the first impression of architecture, and we want to get it right. | |||
2022-08-04 | Nix store does not underly literally everything | Valentin Gagarin | |
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com> | |||
2022-08-04 | add link from overview to store section | Valentin Gagarin | |
the overview should only link to the three main concepts presented. the store is now fairly fleshed out. others can follow later. | |||
2022-08-04 | architecture overview: add link to command line reference | Valentin Gagarin | |
2022-08-04 | architecture overview: add link to Nix expression language reference | Valentin Gagarin | |
update summary title to match file contents | |||
2022-08-04 | use singular for class names consistently | Valentin Gagarin | |
2022-08-04 | clarify relation of tasks and plans | Valentin Gagarin | |
2022-08-04 | build rule -> build task | Valentin Gagarin | |
closer to "build systems a la carte", satisfies all other complaints | |||
2022-08-04 | build step -> build rule | Valentin Gagarin | |
"step" sounds atomic, while "rule" hints at internal structure, which in our case consists of mapping inputs to outputs using build instructions. | |||
2022-08-04 | match grammatical case to arrow direction | Valentin Gagarin | |
2022-08-04 | update architecture diagram | Valentin Gagarin | |
2022-08-04 | remove incomplete section: input/content-addressing | Valentin Gagarin | |
2022-08-04 | remove incomplete section: nix archives | Valentin Gagarin | |
2022-08-04 | remove incomplete section: content-addressed objects | Valentin Gagarin | |
2022-08-04 | remove incomplete section: relocatability | Valentin Gagarin | |
2022-08-04 | remove incomplete section: related work | Valentin Gagarin | |
2022-08-04 | remove incomplete section: building | Valentin Gagarin | |
2022-08-04 | Fix manual TOC links | John Ericson | |
2022-08-04 | Fix rel path in doc | John Ericson | |
2022-08-04 | reword details on keeping closure property | Valentin Gagarin | |
2022-08-04 | add motivation for references | Valentin Gagarin | |
2022-08-04 | stores can also delete objects | Valentin Gagarin | |
2022-08-04 | formalize file system objects | Valentin Gagarin | |
convention: describe every data type in prose, and illustrate with a class diagram, and a textual representation of an abstract data type. right now we save ourselves the trouble of doing class diagrams, we can add them later. but they are important. | |||
2022-08-04 | reword section on references | Valentin Gagarin | |
use file Contents instead of Data, as that flows more naturally in the prose. simplify explanation of the idea behind scanning for store paths remove references to unfinished sections. | |||
2022-08-04 | reword file system objects | Valentin Gagarin | |
- use singular for the "class" - more consistency in type definition - minor fixes in wording | |||
2022-08-04 | move git comparison to related work | Valentin Gagarin | |
it should be pulled out of the branch before we go for merging | |||
2022-08-04 | component -> store object, realisation -> build | Valentin Gagarin | |
2022-08-04 | build instrcution: Task -> function | Valentin Gagarin | |
2022-08-04 | revert build plan/step distinction, reorder rows | Valentin Gagarin | |
2022-08-04 | reword introduction to rosetta stone, add links | Valentin Gagarin | |
attempt to explain used and documented terminology, as well as how the declarative programming paradigm relates to building software. in the future one could highlight encouraged terms to shape future material into higher consistency. | |||
2022-08-04 | associated operations are not collected | Valentin Gagarin | |
Co-authored-by: John Ericson <git@JohnEricson.me> | |||
2022-08-04 | fix grammar | Valentin Gagarin | |
Co-authored-by: John Ericson <git@JohnEricson.me> | |||
2022-08-04 | add concrete store examples, reword note on file system | Valentin Gagarin | |
2022-08-04 | reword section on Nix store | Valentin Gagarin | |
2022-08-04 | design -> architecture, add motivation | Valentin Gagarin | |
following ideas found in Architecture of Gazelle[1] [1]: https://github.com/bazelbuild/bazel-gazelle/blob/56d35f8db086bb65ef876f96f7baa7b71516daf8/Design.rst | |||
2022-08-04 | address Nix language consistently as configuration language | Valentin Gagarin | |
2022-08-04 | remove separate meta-section, add architecture diagram | Valentin Gagarin | |
the diagram is a first approximation and only covers that same section. of course there is much more going on, and other features should at some point also be illustrated. we also have to think about presentation format and technicalities behind it. the manual has to render to `man`, but we may want something more refined for web view. | |||
2022-08-04 | reword introductory section | Valentin Gagarin | |
there should be a meta section for each chapter to give motivation of the presented structure. the structure itself is visible from the table of contents. |