nixpkgs/lib
John Ericson 3cf43547f4
lib: Use lib.fixed-points.extends to avoid repetition
Another attempt after my sloppy 48ccdf322d.

@Infinisil, thanks again, reverted in 4794aa5de2 and explained my mistakes in 48ccdf322d (commitcomment-29678643). I start with their work and provide this proof of this commit's correctness:
```nix
(lib.fixedPoints.extends (lib.flip g) f) # now
((f: rattrs: self: let super = rattrs self; in super // f self super) (lib.flip g) f) # inline extends
(self: let super = f self; in super // (lib.flip g) self super) # beta reduce
(self: let super = f self; in super // g super self)  # beta reduce
(self_: let super = f self_; in super // g super self_)  # alpha rename
(self_: let super = f self_; in super // g super self_) # original, same
```

Eventually we might harmonize `overrideScope`'s `g` parameter with the general pattern, but I leave that breaking change as a separate step. Best not to refactor and break at once, and at least the abstractions make the oddity clearer.
2018-08-20 13:09:15 -04:00
..
systems systems: fix netbsd triple parsing 2018-07-28 19:54:09 -04:00
tests lib/recursiveUpdateUntil: add a test & release note for fix 2018-08-15 17:16:56 +02:00
attrsets.nix lib/recursiveUpdateUntil: fix code to match documentation 2018-08-15 17:16:56 +02:00
composable-derivation.nix [bot] treewide: remove unused 'inherit' in let blocks 2018-07-20 19:38:19 +00:00
customisation.nix lib: Use lib.fixed-points.extends to avoid repetition 2018-08-20 13:09:15 -04:00
debug.nix lib.debug: fix traceValSeqFn 2018-07-15 09:36:08 +09:00
default.nix lib: bitAnd, bitOr, bitXor (bitsize-agnostic fallback function) (#41491) 2018-06-10 21:25:48 +02:00
deprecated.nix Add setFunctionArgs lib function. 2018-01-31 14:02:19 -05:00
fetchers.nix Convert libs to a fixed-point 2017-09-16 21:36:43 -04:00
filesystem.nix Convert libs to a fixed-point 2017-09-16 21:36:43 -04:00
fixed-points.nix Revert "Merge branch 'improved-make-overridable' of git://github.com/ElvishJerricco/nixpkgs" 2017-09-29 09:11:26 -04:00
generators.nix [bot]: remove unreferenced code 2018-07-20 18:48:37 +00:00
kernel.nix linux: translate config to structured config 2018-06-30 16:01:41 +03:00
licenses.nix xfig: 3.2.5b -> 3.2.7a 2018-08-20 00:43:11 +02:00
lists.nix [bot]: remove unreferenced code 2018-07-20 18:48:37 +00:00
meta.nix treewide: remove lib.meta.enableIfAvailable 2018-05-09 16:21:22 -05:00
minver.nix Nix minimal version: 1.10 -> 1.11 2017-08-22 13:28:55 +03:00
modules.nix [bot]: remove unreferenced code 2018-07-20 18:48:37 +00:00
options.nix lib/options: teach showOptions about funny option names 2018-03-05 09:58:06 -05:00
sources.nix callCabal2nix: Fix calling with a path in the store. 2018-01-11 10:17:56 -05:00
strings-with-deps.nix Convert libs to a fixed-point 2017-09-16 21:36:43 -04:00
strings.nix treewide: fix build with disallowed aliases (#43872) 2018-07-21 22:03:24 -04:00
trivial.nix lib/trivial: move zipIntBits to its own file 2018-07-26 20:36:45 +02:00
types.nix [bot] treewide: remove unused 'inherit' in let blocks 2018-07-20 19:38:19 +00:00
versions.nix lib: add versions library 2018-03-04 06:28:34 -08:00
zip-int-bits.nix lib/trivial: move zipIntBits to its own file 2018-07-26 20:36:45 +02:00