generic finger-tree structure (http://staff.city.ac.uk/~ross/papers/FingerTree.html)
#7Export the types Digit and Node from Data.FingerTree
This is related to issue #6. It turns out I cannot declare NFData instances using Generic for IntervalMap, because that depends on FingerTree (which is exported), and that depends on Digit and Node (which are not exported). I need to declare NFData instances for FingerTree, Digit and Node too, but I cannot for the latter two since the types are not exported. Would it be possible to export the types Digit and Node but not their constructors? Thank you very much.
From a library design standpoint, this is a bad idea. Either export the types (with their constructors) from an
Internal
module, or export neither. There's very little to be gained by exporting just the types.I'd suggest exporting all the internals in
Data.FingerTree.Internal
.I'm suffering from lacking the ability to implement functions like
alter
or custom traversals that touch a fraction of the data (e.g. the points where the measure changes), and other custom stuff.