optional definition

Dannyu NDos ndospark320 at gmail.com
Fri Sep 6 02:09:47 UTC 2019

I once used `traverse optional` combined with `catMaybes`. For example:

Prelude Control.Applicative Data.Maybe> catMaybes <$> traverse optional

This is totally out of order. I think a more natural output is:


2019년 9월 1일 (일) 오후 11:23, Edward Kmett <ekmett at gmail.com>님이 작성:

> It would also render the combinator useless for its normal purpose.
> optional is used mostly to try to run a parser and to either succeed with
> its  result (wrapped in a Just) or _failing that_ to just  return Nothing
> and carry on.
> For monads like parsec, the first parse is the one that gets returned, so
> the definition isn't symmetric in behavior.
> -Edward
> On Sun, Sep 1, 2019 at 2:28 AM Dannyu NDos <ndospark320 at gmail.com> wrote:
>> The current 'one or none' definition breaks the order of elements.
>> It is more Ord-friendly to define it as 'none or one'.
>> _______________________________________________
>> Libraries mailing list
>> Libraries at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20190906/217b3f80/attachment.html>

More information about the Libraries mailing list