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 elixir-lang-core+unsubscr...@googlegroups.com. 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.
signature.asc
Description: Message signed with OpenPGP using GPGMail