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.

Reply via email to