home
/
code
/
hope.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Amortize list traversal.
[hope.git]
/
src
/
hope_list.erl
diff --git
a/src/hope_list.erl
b/src/hope_list.erl
index
5ce527c
..
9ce451e
100644
(file)
--- a/
src/hope_list.erl
+++ b/
src/hope_list.erl
@@
-16,11
+16,11
@@
-spec unique_preserve_order(t(A)) ->
t(A).
unique_preserve_order(L) ->
-spec unique_preserve_order(t(A)) ->
t(A).
unique_preserve_order(L) ->
-
Ap
pendIfNew =
+
Pre
pendIfNew =
fun (X, Xs) ->
case lists:member(X, Xs)
fun (X, Xs) ->
case lists:member(X, Xs)
- of true -> Xs
- ; false ->
Xs ++ [X
]
+ of true ->
Xs
+ ; false ->
[X | Xs
]
end
end,
end
end,
- lists:
foldl(AppendIfNew, [], L
).
+ lists:
reverse(lists:foldl(PrependIfNew, [], L)
).
This page took
0.030004 seconds
and
4
git commands to generate.