Second native speaker here weighing in that it's not confusing. Let's leave
it as is.

On Thu, Jan 18, 2018, 8:07 AM OvermindDL1 <[email protected]> wrote:

> I'd personally leave it alone, there are other programming languages that
> use the same terminology as well I know I've run across.  :-)
>
> Plus I really don't think its worth breaking compat even with a
> deprecation.  ^.^;
>
>
> On Thursday, January 18, 2018 at 8:15:37 AM UTC-7, Timotej Fartek wrote:
>>
>> Maybe it confuses me because I'm not a native speaker. Would you suggest
>> we leave it alone (for now)?
>>
>> On Thursday, January 18, 2018 at 4:11:16 PM UTC+1, OvermindDL1 wrote:
>>>
>>> I'd probably have chosen String.repeat, however String.duplicate makes
>>> sense to me grammatically as well as duplicating tends to be used 'as'
>>> multiplication in common speech (around where I am anyway, central USA).
>>>
>>>
>>> On Thursday, January 18, 2018 at 2:59:32 AM UTC-7, Timotej Fartek wrote:
>>>>
>>>> Hello! First of all, good job on Elixir. It really is a joy to build
>>>> applications with it.
>>>> Now about my proposal. I think that the function "duplicate/2" in the
>>>> module String can be a bit confusing with the current naming. When I read
>>>> "duplicate", the thing that immediately pops into my mind is "make a copy
>>>> of", "multiply by two" etc. so when I'm working with String.duplicate I'm
>>>> always a bit confused as to what is going to happen with my string.
>>>> If I call String.duplicate("a", 2) to me it looks like the end result
>>>> is going to be "aaaa", because we take "a", we duplicate it (so it's "aa")
>>>> and then we duplicate that again (because n=2), and return "aaaa". Of
>>>> course this assumption is wrong as the end result is "aa".
>>>> What String.duplicate actually does is *multiply the string n times*.
>>>> Python (the language) has this simplified to the point where you actually
>>>> write "a" * 2, to get the result "aa".
>>>> I suggest we do something similar with Elixir and come up with a better
>>>> name for the duplicate function. I propose String.repeat or String.multiply
>>>> but I am also open to other ideas if you think this might cause extra
>>>> confusion. The most technically correct version of the name in my opinion
>>>> would be String.multiply, because even with String.repeat there could be
>>>> some confusion: does String.repeat("a", 1) return "a" or "aa"?
>>>> I would like to make a pull request with the new function but first I
>>>> want to hear what the community thinks about this idea.
>>>> Another version of the name could be "times". String.times("a", 1)
>>>> would in my opinion clearly return "a". String.times("a", 3) would clearly
>>>> return "aaa".
>>>>
>>>> Anyway this post is long enough as is 😅.
>>>> Thanks again for the wonderful work so far!
>>>>
>>>> --
> You received this message because you are subscribed to the Google Groups
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elixir-lang-core/c207a461-31b7-4f16-9ce4-d28b9226e0ee%40googlegroups.com
> <https://groups.google.com/d/msgid/elixir-lang-core/c207a461-31b7-4f16-9ce4-d28b9226e0ee%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/CAOMhEnzud_DKyrNiDAYUDUYVPUMOU7N0%2B9j2AQzLJ2o2pW5sTQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to