Merge pull request #59777 from alyssais/converge

lib.converge: optimise
This commit is contained in:
Charles Strahan
2019-04-17 10:03:30 -05:00
committed by GitHub

View File

@@ -30,9 +30,12 @@ rec {
# nix-repl> converge (x: x / 2) 16
# 0
converge = f: x:
if (f x) == x
then x
else converge f (f x);
let
x' = f x;
in
if x' == x
then x
else converge f x';
# Modify the contents of an explicitly recursive attribute set in a way that
# honors `self`-references. This is accomplished with a function