Re: Proposal: export more Data.Sequence internals
George Wilson <[email protected]>
| Newsgroups | gmane.comp.lang.haskell.libraries |
|---|---|
| Message-ID | <CABzzMawqoi8+kc_nHzsqZKvmryuzfFRBepYBWUppHMJKH5cUJw@mail.gmail.com> |
Sounds reasonable to me. I don't have any particular input on the module names or hierarchy. Cheers, George On Sat, 6 Feb 2021, 07:22 David Feuer, <[email protected]> wrote: > I'd like containers to export more Data.Sequence internals, and to do > so in a way that allows external users to rely on them. I propose the > following: > > 1. Add a module, Data.FingerTree.IntPlus, abstractly exporting the > finger trees used to represent sequences. These can also be used for > other finger trees with measurements in the (Int, +) monoid. This > would include various basic operations for cons, snoc, and splitting, > with most names the same as for sequences. > 2. Add a module, Data.FingerTree.IntPlus.Unsafe, exporting efficient > mapping/traversing functions that rely on specific preconditions to > maintain the internal fingertree annotation invariant. > 3. Add a module, Data.Sequence.StableInternal, exporting the internal > structure of sequences and also some internal functions that may be > useful elsewhere (I'm particularly interested in the `splitMap` > function and future variants thereof). Unlike the `.Internal` module, > this module would be subject to the package version policy, and would > therefore be more suitable for use by other packages. > > I am very open to suggestions for modifications to the module names. > One option might be to put all the FingerTree.IntPlus stuff in the > Data.Sequence.StableInternal hierarchy, if folks think it should be > buried a bit. > > David > _______________________________________________ > Libraries mailing list > [email protected] > http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries > _______________________________________________ Libraries mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries