3 ms·
Package managers usually have non-idempotent actions that might change parts of the operating system in non desired ways. That means that you could not have ato
by lifty 12y ago
Package managers usually have non-idempotent actions that might change parts of the operating system in non desired ways. That means that you could not have atomic operations ala SQL. There is one packager manager that solves that, Nix(from NixOS), on top of which you could apply something like an SQL language.
- amelius 12y agoI'd rather see an OS and package manager that has a "functional" design (as in functional programming language, functional data structures). This would allow conflicting packages to be installed next to eachother in different branches of a functional filesystem.
- mej10 12y agoThe Nix package manager refers to itself as "The Purely Functional Package Manager", and that is exactly what it lets you do. "It provides atomic upgrades and rollbacks, side-by-side installation of multiple versions of a package, multi-user package management and easy setup of build environments." http://nixos.org/nix/ http://nixos.org/nix/
- amelius 12y agoThis seems interesting. But I find it a bit unsatisfying that it can only be used as a package manager then. How about using this functional machinery, e.g., for a general build system? A "functional make" so to speak. And I bet there are plenty of other use cases.