diff options
Diffstat (limited to 'users')
-rw-r--r-- | users/sterni/nix/fun/default.nix | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/users/sterni/nix/fun/default.nix b/users/sterni/nix/fun/default.nix index bb10f9e6c1bf..824cebfed244 100644 --- a/users/sterni/nix/fun/default.nix +++ b/users/sterni/nix/fun/default.nix @@ -192,20 +192,18 @@ let # and the list of arguments to pass to be found in args. startSet = [ { - key = "0"; - id = 0; + key = 0; final = false; inherit args; } ]; operator = - { id, final, ... }@state: + { key, final, ... }@state: let # Plumbing to make genericClosure happy - newIds = { - key = toString (id + 1); - id = id + 1; + newId = { + key = key + 1; }; # Perform recursion step @@ -215,10 +213,10 @@ let # otherwise signal that we're done. newState = if builtins.isAttrs call && call.__tailCall or false - then newIds // { + then newId // { final = false; inherit (call) args; - } else newIds // { + } else newId // { final = true; value = call; }; |