diff options
author | Ricardo M. Correia <rcorreia@wizy.org> | 2014-11-12 21:36:26 +0100 |
---|---|---|
committer | Ricardo M. Correia <rcorreia@wizy.org> | 2014-11-12 22:31:49 +0100 |
commit | 1fea5866aea0aeed2c22dcee20e3fd3f088de3a5 (patch) | |
tree | 1d5cc8e08b4479e23403bd9bdabe4e7444cb8005 /lib/lists.nix | |
parent | 3b0fa60a9865ca4887266fcfb7e467d8b8966d38 (diff) | |
download | nixlib-1fea5866aea0aeed2c22dcee20e3fd3f088de3a5.tar nixlib-1fea5866aea0aeed2c22dcee20e3fd3f088de3a5.tar.gz nixlib-1fea5866aea0aeed2c22dcee20e3fd3f088de3a5.tar.bz2 nixlib-1fea5866aea0aeed2c22dcee20e3fd3f088de3a5.tar.lz nixlib-1fea5866aea0aeed2c22dcee20e3fd3f088de3a5.tar.xz nixlib-1fea5866aea0aeed2c22dcee20e3fd3f088de3a5.tar.zst nixlib-1fea5866aea0aeed2c22dcee20e3fd3f088de3a5.zip |
Add `unique` list function
It removes duplicate elements from a list.
Diffstat (limited to 'lib/lists.nix')
-rw-r--r-- | lib/lists.nix | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/lists.nix b/lib/lists.nix index 566ee89c95bc..d57c4893daa8 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -223,4 +223,14 @@ rec { crossLists = f: foldl (fs: args: concatMap (f: map f args) fs) [f]; + # Remove duplicate elements from the list + unique = list: + if list == [] then + [] + else + let + x = head list; + xs = unique (drop 1 list); + in [x] ++ remove x xs; + } |