I love this feature, but I am against wrapping in a tuple because then you
may wonder if you are inspecting a tuple or something with :tag. Instead,
if you have "my list: ..." it will not be like any other inspected term, so
very easy to understand. Wdyt? :)


Andrea Leopardi
[email protected]

On Fri, Jul 15, 2016 at 11:57 AM, José Valim <
[email protected]> wrote:

> I like this suggestion. I am wondering though if the tagging should be
> done by wrapping the input in a tuple:
>
> IO.inspect([1, 2, 3], tag: “my list”)
> #=> {"my list", [1, 2, 3]}
>
>
> If not, we should probably just print: "my list: [1, 2, 3]".
>
>
>
> *José Valim*
> www.plataformatec.com.br
> Skype: jv.ptec
> Founder and Director of R&D
>
> On Fri, Jul 15, 2016 at 11:50 AM, Michał Muskała <[email protected]>
> wrote:
>
>> Hello everybody.
>>
>> IO.inspect/2 is one of the most useful debugging tools, and I use it
>> extremely often. The ability to stick `|> IO.inspect` in pretty much every
>> part of the program is really powerful. Unfortunately when having multiple
>> such calls it becomes hard to distinguish which output matches which call.
>> The usual way to solve this is by inspecting something like {tag_name,
>> value} instead of just value, but this has the unfortunate effect of
>> breaking the pipe-ability and forces you to assign things into specific
>> variables.
>>
>> I propose we add an option to IO.inspect called tag. It would simply
>> print the tag before the output. How would it look like?
>>
>> IO.inspect([1, 2, 3], tag: “my list”)
>>
>> would print:
>>
>> my list => [1, 2, 3]
>>
>> The return value would obviously not change, so it would still be a list
>> [1, 2, 3] in that case. This still allows IO.inspect to be pipe-able and
>> gives us easily distinguishable output at the same time. I think this would
>> streamline the debugging experience and make IO.inspect even more powerful.
>>
>> Michał.
>>
>> --
>> 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/E807B41E-B89A-43CD-B55D-60A742B55BBC%40muskala.eu
>> .
>> 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/CAGnRm4%2BUhyhgMDdNy0gJk2Pm_eafm_n6SBViXmjiq8AWepEBeQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4%2BUhyhgMDdNy0gJk2Pm_eafm_n6SBViXmjiq8AWepEBeQ%40mail.gmail.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/CAM9Rf%2BL60EKrTAaP0VZ%2BcsSnff5ffQuZVHOkS__qQdBTRmJi1Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to