guix/tests/lang/lib.nix

19 lines
314 B
Nix

rec {
fold = op: nul: list:
if list == []
then nul
else op (builtins.head list) (fold op nul (builtins.tail list));
concat =
fold (x: y: x + y) "";
flatten = x:
if builtins.isList x
then fold (x: y: (flatten x) ++ y) [] x
else [x];
sum = fold (x: y: builtins.add x y) 0;
}