Proposal: export more Data.Sequence internals
George Wilson
george at wils.online
Sun Feb 7 05:10:58 UTC 2021
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, <david.feuer at gmail.com> 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
> 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/20210207/2245de08/attachment.html>
More information about the Libraries
mailing list