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

David Feuer david.feuer at gmail.com
Sun Dec 6 18:26:18 UTC 2020


I guess the real point is that I don't think most people will expect an
`extract` function in `containers` to be a comonadic one.

On Sun, Dec 6, 2020, 1:05 PM Oleg Grenrus <oleg.grenrus at iki.fi> wrote:

> 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> 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> 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> 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>
>>> 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> 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
>>> > >>>> 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
>>> > >>
>>> > >> _______________________________________________
>>> > >> Libraries mailing list
>>> > >> 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
>>>
>>> _______________________________________________
>>> Libraries mailing list
>>> 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
>>
>
> _______________________________________________
> Libraries mailing listLibraries at haskell.orghttp://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/3f433a63/attachment.html>


More information about the Libraries mailing list