Re: Proposal: export more Data.Sequence internals

Simon Jakobi via Libraries <[email protected]>
Newsgroups gmane.comp.lang.haskell.libraries
Message-ID <CAGtp2Sh5n_QPw+nbcsfmJ3PT07vzfGkAKs197vctmtk2JVGQoA@mail.gmail.com>
Hi David, and apologies for the late response!

I don't have much to add to this discussion since I'm rather
unfamiliar with the Data.Sequence internals and fingertrees in
general. Since this code is pretty stable AFAIK, I don't see a problem
with exposing it under the PVP.

My only suggestion would be to find a slightly better name than
Data.Sequence.StableInternal. Something like Data.Sequence.Core
perhaps?!

Cheers!
Simon

Am Fr., 5. Feb. 2021 um 22:22 Uhr schrieb David Feuer <[email protected]>:
>
> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.