diff options
author | Vladimír Čunát <v@cunat.cz> | 2023-11-15 07:33:10 +0100 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2023-11-15 07:33:10 +0100 |
commit | c46eae0f3572fbe7af42e5d40648b7b4a1d1317b (patch) | |
tree | 84e748e6477734c4826b4d6b34152b1958e5627a /lib/lists.nix | |
parent | 9297b620bb86624e6cf4b6ae54fc4ae1da98bb83 (diff) | |
parent | e8ad54f562b4621c7c080b4a3ddbafe4735bcb86 (diff) | |
download | nixlib-c46eae0f3572fbe7af42e5d40648b7b4a1d1317b.tar nixlib-c46eae0f3572fbe7af42e5d40648b7b4a1d1317b.tar.gz nixlib-c46eae0f3572fbe7af42e5d40648b7b4a1d1317b.tar.bz2 nixlib-c46eae0f3572fbe7af42e5d40648b7b4a1d1317b.tar.lz nixlib-c46eae0f3572fbe7af42e5d40648b7b4a1d1317b.tar.xz nixlib-c46eae0f3572fbe7af42e5d40648b7b4a1d1317b.tar.zst nixlib-c46eae0f3572fbe7af42e5d40648b7b4a1d1317b.zip |
Merge branch 'master' into staging-next
Diffstat (limited to 'lib/lists.nix')
-rw-r--r-- | lib/lists.nix | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/lists.nix b/lib/lists.nix index 3835e3ba69cb..15047f488f4d 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -821,6 +821,19 @@ rec { */ unique = foldl' (acc: e: if elem e acc then acc else acc ++ [ e ]) []; + /* Check if list contains only unique elements. O(n^2) complexity. + + Type: allUnique :: [a] -> bool + + Example: + allUnique [ 3 2 3 4 ] + => false + allUnique [ 3 2 4 1 ] + => true + */ + allUnique = list: (length (unique list) == length list); + + /* Intersects list 'e' and another list. O(nm) complexity. Example: |