diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-07-24 02:38:46 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-07-24 15:58:34 +0200 |
commit | 6f6f66ac98218ed3061c75375784d12c5fceb687 (patch) | |
tree | 1f5888c66286dfda19addb6d18c59523b95962e4 | |
parent | 447afef153bf6ebcf385028845c1e8947d61aaac (diff) | |
download | nixpkgs-6f6f66ac98218ed3061c75375784d12c5fceb687.tar nixpkgs-6f6f66ac98218ed3061c75375784d12c5fceb687.tar.gz nixpkgs-6f6f66ac98218ed3061c75375784d12c5fceb687.tar.bz2 nixpkgs-6f6f66ac98218ed3061c75375784d12c5fceb687.tar.lz nixpkgs-6f6f66ac98218ed3061c75375784d12c5fceb687.tar.xz nixpkgs-6f6f66ac98218ed3061c75375784d12c5fceb687.tar.zst nixpkgs-6f6f66ac98218ed3061c75375784d12c5fceb687.zip |
Use concatStringSep primop
-rw-r--r-- | lib/strings.nix | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/strings.nix b/lib/strings.nix index 895b230744f..d67052bbf13 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -12,7 +12,11 @@ rec { # Concatenate a list of strings. - concatStrings = lib.foldl' (x: y: x + y) ""; + concatStrings = + if builtins ? concatStringsSep then + builtins.concatStringsSep "" + else + lib.foldl' (x: y: x + y) ""; # Map a function over a list and concatenate the resulting strings. @@ -31,8 +35,8 @@ rec { # Concatenate a list of strings with a separator between each element, e.g. # concatStringsSep " " ["foo" "bar" "xyzzy"] == "foo bar xyzzy" - concatStringsSep = separator: list: - concatStrings (intersperse separator list); + concatStringsSep = builtins.concatStringsSep or (separator: list: + concatStrings (intersperse separator list)); concatMapStringsSep = sep: f: list: concatStringsSep sep (map f list); concatImapStringsSep = sep: f: list: concatStringsSep sep (lib.imap f list); |