-
While trying to define the term "Nix" (in a pedantic way):
- GitHub:
NixOS/nix
pull request #6420 - Discourse: Nix-this, nix-that, nix-what?
- What is a "paradigm"?
- Google search: paradigm
- Google search: paradigm vs paradigm shift
- wikipedia: Paradigm
- Wikipedia: Paradigm_shift
- https://www.kbmanage.com/concept/paradigms#:~:text=Paradigms%20are%20generally%20defined%20as,company%20strategies%20and%20industry%20cycles.
- Google search: "paradigm that consists of"
- Google search: "paradigm comprising" method
- According to the thesis, "Nix is a purely functional software deployment model".
- What is "software deployment"?
- Google search: software does deployment mean building
- Google search: source vs binary deployment
- Stackoverflow: Difference between build and deploy?
- https://www.sumologic.com/glossary/software-deployment/#:~:text=Deployment%20is%20the%20mechanism%20through,the%20quality%20of%20each%20change.
- https://groups.google.com/a/apereo.org/g/sakai-dev/c/k-J9DUk5K6U#:~:text=The%20binary%20and%20the%20source%20deployments%20are%20not%20different%20in%20terms%20of%20instance%20data%2C%20the%20first%20one%20is%20a%20pre%2Dcompiled%20deployment%20while%20the%20second%20one%20is%20compiled%20in%20your%20machine.%20Both%20may%20have%20a%20configured%20DB%20and%20both%20host%20the%20files%20in%20a%20specific%20path
- What does "purely functional" mean?
- StackOverflow: Are idempotent functions the same as pure functions?
- thesis, page 21:
An important point here is that upgrading only happens by rebuilding the component in question and all components that depend on it. We never perform a destructive upgrade. Components never change after they have been built—they are marked as read-only in the file system. Assuming that the build process for a component is deterministic, this means that the hash identifies the contents of the components at all times, not only just after it has been built. Conversely, the build-time inputs determine the contents of the component. Therefore we call this a purely functional model. In purely functional programming languages such as Haskell [135], as in mathematics, the result of a function call depends exclusively on the definition of the function and on the arguments. In Nix, the contents of a component depend exclusively on the build inputs. The advantage of a purely functional model is that we obtain strong guarantees about components, such as non-interference.
- What is "software deployment"?
- GitHub:
Created
August 8, 2022 00:46
-
-
Save toraritte/737e918789b2d0694ddcf26ab59c2155 to your computer and use it in GitHub Desktop.
learning notes between 8/1 and 8/7 of 2022 (week 3 of Summer of Nix 2022)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment