To me, this function is one of the main reasons I'm not using Access more
often. I guess I'm a bit confused about the design of `Access` - I'd sort
of guess that the goal would be to largely have feature parity with keyword
lists and maps when it comes to reading values at least. I think if we
wanted to up the usage of Access (which imo would be a good thing) then
that'd be great.

As per usual, I do trust your judgement on these though.

On Wed, Jul 31, 2024 at 8:28 PM José Valim <jose.va...@dashbit.co> wrote:

> I see. It seems to be a narrow use case for now, so I think Access.fetch/2
> is the way to go until we get more evidence that many folks need something
> similar. My impression is that the direct Access functions are not that
> commonly used in general. :)
>
> On Wed, Jul 31, 2024 at 8:23 PM Tobias Pfeiffer <prag...@gmail.com> wrote:
>
>> Heyo José,
>>
>> in most cases it's just a helper method with optional args - which I like
>> to keep in a way that users of it can user either a map or keyword args.
>>
>> In this particular case it was this helper for tests:
>>
>> @supply_tag 744_306
>> def my_helper(opts \\ []) do
>> query_string = Keyword.get_lazy(opts, :query_string, &build_query_string/
>> 0)
>> supply_tag = Access.get(opts, :supply_tag, @supply_tag)
>> ip = Access.get(opts, :ip, "68.235.110.20")
>>
>> "https://some.url#{supply_tag}#{query_string}&ip=#{ip}";
>> end
>>
>> build_query_string/0 takes some time but not a lot - but it could also
>> take more time aka the classical get_lazy/3 use case.
>>
>> Using Keyword.get_lazy/3 here works but limits callers to use keywords
>> (or do a Map to Keyword conversion) which limits the usefulness of `Access`
>> to me - as I tend to prefer to use it when both maps and keyword lists seem
>> acceptable.
>>
>> Cheers + thanks,
>> Tobi
>> On Wed, Jul 31, 2024 at 8:39 AM José Valim <jose.va...@dashbit.co> wrote:
>>
>>> Hi Tobi, can you provide some context of how it would be used, code
>>> wise? Which problem are you facing?
>>>
>>> On Wed, Jul 31, 2024 at 08:10 Tobias Pfeiffer <prag...@gmail.com> wrote:
>>>
>>>> Hello beloved core team,
>>>>
>>>> TLDR; Should we have Access.get_lazy/3 ?
>>>>
>>>> As usual I'm sure there is some reason why this doesn't exist yet but I
>>>> don't know so here is the question/proposal:
>>>>
>>>> We have Map.get_lazy/3 and Keyword.get_lazy/3 - they're amazing and
>>>> helpful. Access basically encapsulates the 2 and I generally use it where I
>>>> can to allow both Keywords and Maps - most commonly when I deal with
>>>> options. It doesn't have get_lazy/3 though, which sometimes makes me fall
>>>> back to either Map or Keyword (or wrap it myself).
>>>>
>>>> Using Access.fetch/2 it should also be easy to implement.
>>>>
>>>> So, would a PR implementing Access.get_lazy/3 be considered?
>>>>
>>>> Thanks!
>>>> Tobi
>>>>
>>>> --
>>>> 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/CAG3Z5YQYuv8SF81vs8UNhtpGN3wA0NHgH1yFhixuwoQmV2S8eQ%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/elixir-lang-core/CAG3Z5YQYuv8SF81vs8UNhtpGN3wA0NHgH1yFhixuwoQmV2S8eQ%40mail.gmail.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/CAGnRm4L6popY-tMX54mKh3kc_cbmYRa7G7G0Em64ZPUoZEX6Lw%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4L6popY-tMX54mKh3kc_cbmYRa7G7G0Em64ZPUoZEX6Lw%40mail.gmail.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/CAG3Z5YTOA%2Buditq5jfHETFNanUwT_fXsnjt-S%2BnekqCJcp_20A%40mail.gmail.com
>> <https://groups.google.com/d/msgid/elixir-lang-core/CAG3Z5YTOA%2Buditq5jfHETFNanUwT_fXsnjt-S%2BnekqCJcp_20A%40mail.gmail.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/CAGnRm4JNXRH4S1793uBJ-Dvv_zbVvLC0gw32vJrzw-dOyukfUg%40mail.gmail.com
> <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4JNXRH4S1793uBJ-Dvv_zbVvLC0gw32vJrzw-dOyukfUg%40mail.gmail.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/CAG3Z5YRF%3DJj0sKLnpSEJ4zKMU%3DT6JGU7Qh2bNdZ90Qt-6%3DhbqA%40mail.gmail.com.

Reply via email to