[erlang-questions] Proposal: add lists:intersperse/2 and lists:intercalate/2
Tue Mar 8 17:56:13 CET 2016
I'd call it punctuate (to mark or divide with punctuation marks) - since this
is what I'd use this of, so punctuate(Claues, ';') means a a ';'
We could make a new library called stacks which is all of lists renamed with new
things in and phase out lists.
Lists are actually stacks - explaining how to reverse a stack to beginners
is far easier than a list - I just get them to think of a stack of
plates in a restaurant,
one empty one full ....
Just because lisp go it wrong doesn't mean to say that everybody else
On Mon, Mar 7, 2016 at 11:24 PM, Chandru
> On 7 March 2016 at 16:04, Loïc Hoguin <essen@REDACTED> wrote:
>> On 03/07/2016 04:53 PM, Garrett Smith wrote:
>>> On Mon, Mar 7, 2016 at 9:28 AM Jesper Louis Andersen
>>> <mailto:jesper.louis.andersen@REDACTED>> wrote:
>>> On Mon, Mar 7, 2016 at 4:08 PM, Garrett Smith <g@REDACTED
>>> <mailto:g@REDACTED>> wrote:
>>> It's vague, as is intercalculate, but as it's superficially
>>> doing what string "join" does with chars has some precedence
>>> within Erlang. I wouldn't call it hopeless.
>>> I'm probably leaning away from using 'join' at this point, since
>>> 'join' already have type
>>> join :: Monad M => m (m a) -> m a
>>> so from an FP perspective, that name is highly confusing since it is
>>> in use in monadic context and is used to join monadic data into its
>>> own monadic context. For a list, join is essentially 'append':
>>> Prelude Control.Monad> join ["a", "b", "c"]
>>> But join is monadic, so `join $ Just Nothing` evaluates to `Nothing`.
>>> Sigh. Okay, so the future naming discussions will involve with word
>>> monad and monadic?
>>> You've seen the discussions around adoption and the disruptive influence
>>> of Elixir?
>>> For whatever reason FP pedantry is not a draw for me. When I need
>>> inspiration I look to Python. Maybe that's the wrong direction and we
>>> need to drive our community through more gates.
>> I am completely with you on that. If the function was called
>> intercalculate I'd never find it and would continue writing my own.
> I second this. I'm part of the vast number of unwashed masses who've never
> heard of the term intercalculate, and if I came across it in a developer's
> code would think that they were being a bit too clever. Like many others I
> have written this piece of code several times and invariably named it
> 'concat_with_separator' - a mouthful but it conveys (at least to me) what
> exactly the function is doing.
> erlang-questions mailing list
More information about the erlang-questions