I disagree that this should be a library. (I've already done this in my app and would be fine extracting it into one though) I don't buy the slippery slope argument. The functions are very simple to create and maintain, and it's not like the Tuple module is overflowing with complexity. We have things like 'is_even' and 'is_odd' because they are common to work with. :ok and :error are insanely common in elixir codebases. Why not add convenience methods?
On Tuesday, April 16, 2019 at 5:22:38 PM UTC-4, José Valim wrote: > > Hi Tom, thanks for the proposal. > > As OvermindDL1 already hinted, this can lead to a slippery slope where we > need to add bang variants, question mark variants, ok/1/2/3/4 to deal with > arities and so on. I would suggest building this vocabulary as necessary in > your applications or, if you want to share it with the world, it could be a > nice library. Hint: the package ok_error seems to be available. :) > > *José Valim* > www.plataformatec.com.br > Skype: jv.ptec > Founder and Director of R&D > > > On Tue, Apr 16, 2019 at 11:12 PM OvermindDL1 <overm...@gmail.com > <javascript:>> wrote: > >> On Tuesday, April 16, 2019 at 3:04:13 PM UTC-6, t...@scalpel.com wrote: >>> >>> It is often the case that you want to wrap the result of an operation in >>> an ":ok" or ":error" Tuple. We should add convenience wrapper functions >>> since this is so common and it cleans up otherwise ugly code. >>> >>> def ok(value), do: {:ok, value} >>> def error(value), do: {:error, value} >>> >> >> This could be quite useful! On the other side it would be useful to add >> functions like these as well: >> >> def ok!({:ok, value}), do: value >> >> def ok?({:ok, _value}), do: true >> def ok?(_), do: false >> >> And so forth for error as well. They are not really useful on their own >> because matching is better, but for use in pipes that would be quite useful >> (right now I use the exceptional library, which does similar things and >> more). >> >> -- >> 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-l...@googlegroups.com <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elixir-lang-core/30614530-7e33-4cb8-bffb-63c18248d340%40googlegroups.com >> >> <https://groups.google.com/d/msgid/elixir-lang-core/30614530-7e33-4cb8-bffb-63c18248d340%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 elixir-lang-core+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/0314757d-eff2-4b23-8130-a19ee921b254%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.