summary refs log blame commit diff
path: root/pkgs/lib/trivial.nix
blob: 35e4f3ee9f9d0c29fd17f5b08c666e77b381fa92 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12











                                                           
                            



                                                                

                        
 
rec {

  # Identity function.
  id = x: x;

  # Constant function.
  const = x: y: x;

  # Named versions corresponding to some builtin operators.
  concat = x: y: x ++ y;
  or = x: y: x || y;
  and = x: y: x && y;
  mergeAttrs = x: y: x // y;
  
  # Take a function and evaluate it with its own returned value.
  fix = f: let result = f result; in result;

  # Flip argument order
  flip = f: x: y: f y x;
}