Combining Bag/OrdList?
Andreas Klebinger
klebinger.andreas at gmx.at
Sat Jun 2 17:03:02 UTC 2018
> we are free to improve the implementation of Bag in the future so
that it doesn’t preserve order
Imo we lost that ability by exposing consBag & snocBag which imply that
there is a front and a back.
Which at first glance also seem to be already used in GHC with that
behavior in mind.
I agree with the thought that not guaranteeing an ordering might have
benefits.
But in practice they are almost the same data structure with slightly
different interfaces.
> Kavon Farvardin <mailto:kavon at farvard.in>
> Samstag, 2. Juni 2018 18:00
> If we have an algorithm that only needs a Bag, then we are free to
> improve the implementation of Bag in the future so that it doesn’t
> preserve order under the hood (e.g, use a hash table). So, I
> personally think it’s useful to have around.
>
> Sent from my phone.
>
>
> Andreas Klebinger <mailto:klebinger.andreas at gmx.at>
> Samstag, 2. Juni 2018 12:13
> We have OrdList which does:
>
> Provide trees (of instructions), so that lists of instructions
> can be appended in linear time.
>
> And Bag which claims to be:
>
> an unordered collection with duplicates
>
> However the actual implementation of Bag is also a tree if things.
> Given that we have snocBag, consBag that implies to me it's
> also an ordered collection.
>
> I wondered if besides of someone having to do it if there is a reason
> why these couldn't be combined
> into a single data structure? Their implementation seems similar
> enough as far as I can tell.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20180602/685cf7cb/attachment.html>
More information about the ghc-devs
mailing list