Proposal for containers: Add 'pop' function to Data.Map

Oleg Grenrus oleg.grenrus at iki.fi
Sun Dec 6 18:04:58 UTC 2020


NonEmptySeq could be. NonEmptySet almost (it could have extract).

- Oleg

On 6.12.2020 20.02, David Feuer wrote:
> None of these types are comonads, so it doesn't seem *that* confusing.
>
> On Sun, Dec 6, 2020, 12:59 PM Bob Ippolito <bob at redivi.com
> <mailto:bob at redivi.com>> wrote:
>
>     `extract` overlaps with the Comonad typeclass (extract, duplicate,
>     extend)
>
>     On Sun, Dec 6, 2020 at 9:34 AM Tom Ellis
>     <tom-lists-haskell-cafe-2017 at jaguarpaw.co.uk
>     <mailto:tom-lists-haskell-cafe-2017 at jaguarpaw.co.uk>> wrote:
>
>         I really like `extract`!
>
>         On Sun, Dec 06, 2020 at 05:29:40PM +0000, Alexey Kuleshevich
>         wrote:
>         > `extract` is the name that I would suggest. I also agree
>         with David
>         > that `pop` is a bit too confusing in a non-stack/queue data
>         > structure. If all languages named it pop, then it would be good
>         > argument for the name, but we don't need to copy python. The
>         only
>         > thing that pyhon has that I wish we had in Haskell is the
>         popularity
>         > ;)
>         >
>         > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>         > On Sunday, December 6, 2020 8:16 PM, Carter Schonwald
>         <carter.schonwald at gmail.com
>         <mailto:carter.schonwald at gmail.com>> wrote:
>         >
>         > > LookupThenRemove seems like a more descriptive name.
>         Though I guess I can see why pop has appeal.
>         > >
>         > > On Sun, Dec 6, 2020 at 11:44 AM David Feuer
>         <david.feuer at gmail.com <mailto:david.feuer at gmail.com>> wrote:
>         > >
>         > >> I suggest you add a version for Data.Sequence combining
>         lookup with deleteAt. I wanted that for something fairly recently.
>         > >>
>         > >> On Sun, Dec 6, 2020, 11:41 AM Martijn Bastiaan via
>         Libraries <libraries at haskell.org
>         <mailto:libraries at haskell.org>> wrote:
>         > >>
>         > >>> Yeah, Python's `pop` made me call it `pop`. I had hoped
>         to find other
>         > >>> examples, but Java, Rust, and Ruby don't seem to offer
>         `pop`-like
>         > >>> functions for their (hash)maps.
>         > >>>
>         > >>> On 12/6/20 5:29 PM, Tom Ellis wrote:
>         > >>>> On Sun, Dec 06, 2020 at 11:25:33AM -0500, David Feuer
>         wrote:
>         > >>>>> The name pop makes me think of a stack. Is this use of
>         the word common?
>         > >>>> Python uses that name, which is why I'm familiar with it:
>         > >>>>
>         > >>>>>>> d = {'a': 1, 'b': 2}
>         > >>>>>>> d.pop('b')
>         > >>>> 2
>         > >>>>>>> d
>         > >>>> {'a': 1}
>         > >>>> _______________________________________________
>         > >>>> Libraries mailing list
>         > >>>> Libraries at haskell.org <mailto:Libraries at haskell.org>
>         > >>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>         > >>> _______________________________________________
>         > >>> Libraries mailing list
>         > >>> Libraries at haskell.org <mailto:Libraries at haskell.org>
>         > >>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>         > >>
>         > >> _______________________________________________
>         > >> Libraries mailing list
>         > >> Libraries at haskell.org <mailto:Libraries at haskell.org>
>         > >> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
>         > _______________________________________________
>         > Libraries mailing list
>         > Libraries at haskell.org <mailto:Libraries at haskell.org>
>         > http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
>         _______________________________________________
>         Libraries mailing list
>         Libraries at haskell.org <mailto:Libraries at haskell.org>
>         http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
>     _______________________________________________
>     Libraries mailing list
>     Libraries at haskell.org <mailto:Libraries at haskell.org>
>     http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
>
> _______________________________________________
> 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/20201206/2cda45a7/attachment-0001.html>


More information about the Libraries mailing list