<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Hi Erlangers,<br><br></div>I'd really like to add two functions to the lists module from Haskell:<br><br></div>intersperse(List, Seperator) produces a list where each element is separated by separator, i.e.<br><br></div>X = [1,2,3]<br></div>[1, x, 2, x, 3] = lists:intersperse(X, x),<br><br></div>and it's cousin, intercalate(ListOfLists, Separator) is append(intersperse(ListOfLists, Seperator)), i.e,<br><br></div>Y = ["a", "b", "c"]<br></div>"a, b, c" = lists:intercalate(Y, ", "),<br><br></div>The implementations are straightforward and easy to write tests for, even property based tests if needed.<br><br></div>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.<br><br></div>Thoughts?<br><br><div><div><div><div><div><div><div><div><div><div><div><div><div>-- <br><div class="gmail_signature">J.</div>
</div></div></div></div></div></div></div></div></div></div></div></div></div></div>