>  e.g if you have a function with the same name but one less argument 

That can actually also be considered as a function with default values (and 
in the end, default values generate such functions with different arities). 
If not then I think it's a code smell and the function needs to be renamed.
 
On Friday, December 25, 2020 at 11:43:03 PM UTC+1 zachary....@gmail.com 
wrote:

> Sorry, meant to say “in being able to say only import this *function*”, 
> not story :)
>
> On Fri, Dec 25, 2020 at 5:42 PM Zach Daniel <zachary....@gmail.com> wrote:
>
>> There are theoretical name conflicts from not being able to say “only 
>> import this story”  (e.g if you have a function with the same name but one 
>> less argument) what about import Mod, only: [func: 1..3]?
>>
>> On Fri, Dec 25, 2020 at 5:36 PM thojan...@gmail.com <thojan...@gmail.com> 
>> wrote:
>>
>>> Say function `foo` has multiple default values (two required args, two 
>>> with defaults). When importing, we must specify each arity that is used in 
>>> the calling code, e.g.
>>>
>>> ```
>>> import Foo, only: [foo: 2, foo: 3, foo: 4]
>>>
>>> foo(1, 2)
>>> foo(1, 2, 3)
>>> foo(1, 2, 3, 4)
>>> ```
>>>
>>> I expected that I could only import `foo/4`, and be able to call `foo` 
>>> with only two arguments and three arguments. Why? Because there is no use 
>>> case to force an imported function to be used only with a specific arity. 
>>> That would even be a code smell.
>>>
>>> Could we "generate" [foo: 2, foo: 3]` in addition to `[foo: 4]` to 
>>> support the call using its default values?
>>>
>>>
>>> -- 
>>> 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 elixir-lang-co...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/elixir-lang-core/28497895-3278-4de0-8423-99f9b9230597n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/elixir-lang-core/28497895-3278-4de0-8423-99f9b9230597n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
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 elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/38192124-1f41-407c-966e-82f223db3719n%40googlegroups.com.

Reply via email to