18 lines
		
	
	
	
		
			314 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			18 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;
 | |
| 
 | |
| }
 |