[erlang-questions] Proposal: add lists:intersperse/2 and lists:intercalate/2
Jesper Louis Andersen
jesper.louis.andersen@REDACTED
Wed Mar 2 15:47:41 CET 2016
Hi Erlangers,
I'd really like to add two functions to the lists module from Haskell:
intersperse(List, Seperator) produces a list where each element is
separated by separator, i.e.
X = [1,2,3]
[1, x, 2, x, 3] = lists:intersperse(X, x),
and it's cousin, intercalate(ListOfLists, Separator) is
append(intersperse(ListOfLists, Seperator)), i.e,
Y = ["a", "b", "c"]
"a, b, c" = lists:intercalate(Y, ", "),
The implementations are straightforward and easy to write tests for, even
property based tests if needed.
The rationale for this proposal is that I find myself implementing this
function again and again in every project I write, and it is highly
generic. It belongs in a typical list module. OCaml libraries add it.
Haskell's Data.List has it. I believe Erlang, being a practical language,
should have it as well.
Thoughts?
--
J.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160302/6e09f98e/attachment.htm>
More information about the erlang-questions
mailing list