Doc: Improve builtins.genericClosure

This commit is contained in:
Frédéric Christ 2023-04-26 09:23:19 +02:00
parent 946fd29422
commit f0d2b7eef3

View file

@ -706,12 +706,14 @@ static RegisterPrimOp primop_genericClosure(RegisterPrimOp::Info {
.arity = 1, .arity = 1,
.doc = R"( .doc = R"(
Take an *attrset* with values named `startSet` and `operator` in order to Take an *attrset* with values named `startSet` and `operator` in order to
return a *list of attrsets* by starting with the `startSet`, recursively return a *list of attrsets* by starting with the `startSet` and recursively
applying the `operator` function to each element. The *attrsets* in the applying the `operator` function to each `item`. The *attrsets* in the
`startSet` and produced by the `operator` must each contain value named `startSet` and the *attrsets* produced by `operator` must contain a value
`key` which are comparable to each other. The result is produced by named `key` which is comparable. The result is produced by calling `operator`
repeatedly calling the operator for each element encountered with a for each `item` with a value for `key` that has not been called yet including
unique key, terminating when no new elements are produced. For example, newly produced `item`s. The function terminates when no new `item`s are
produced. The resulting *list of attrsets* contains only *attrsets* with a
unique key. For example,
``` ```
builtins.genericClosure { builtins.genericClosure {