summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2019-09-09 21:24:47 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2019-09-09 21:24:47 +0200
commit89bc3e662c166ba96097c35f1665409a6ed54a6d (patch)
tree366847a25127be1d826d96f16a9e718d29548bde /src/shared/elm/Util/List.elm
parent027ab65faef27c68a93c7c886c2ddd02f2cb27fd (diff)
parentc2f3e908511cdf782f4a324002a15b607ffbd125 (diff)
Merge branch 'master' of dreamhost:~/repositories/git/tacticians-client
Diffstat (limited to 'src/shared/elm/Util/List.elm')
-rw-r--r--src/shared/elm/Util/List.elm17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/shared/elm/Util/List.elm b/src/shared/elm/Util/List.elm
index 1f914b1..829dd3e 100644
--- a/src/shared/elm/Util/List.elm
+++ b/src/shared/elm/Util/List.elm
@@ -1,5 +1,7 @@
module Util.List exposing (..)
+import Set
+
import List
pop : List a -> (Maybe (a, List a))
@@ -34,3 +36,18 @@ product_map_rec product_fun list_a list_b result =
)
)
+duplicates : (List comparable) -> (Set.Set comparable)
+duplicates list =
+ let
+ (encountered, final_result) =
+ (List.foldl
+ (\elem (met, result) ->
+ if (Set.member elem met)
+ then (met, (Set.insert elem result))
+ else ((Set.insert elem met), result)
+ )
+ ((Set.empty), (Set.empty))
+ list
+ )
+ in
+ final_result