[Haskell-cafe] ANN: semialign-extras-0.1.0.0, and a request for help
Jack Kelly
jack at jackkelly.name
Fri Nov 15 01:39:21 UTC 2019
I have just pushed an initial release of semialign-extras[1] to Hackage.
semialign-extras aims to collect interesting abstractions/operations that:
1. Build on top of (at least) the Semialign typeclass, or related
classes from the semialign universe; and
2. Do not belong inside other packages in the semialign universe.
PRs that serve these goals are most welcome, as are GitHub issues[2].
Currently, there are two modules:
* Data.Semialign.Diff has diffing/patching for Semialigns; and
* Data.Semialign.Merge has a collection of merge operations for
Semialigns which are also Filterable/Traversable/Witherable
Request for help:
The functions in Data.Semialign.Diff work across a lot of types, but are
are often not the most efficient way to diff. There is a
high-performance merge API for Data.Map.Map in Data.Map.Merge.Lazy[3],
and it would be great to have some rewrite rules that took advantage of
this. I have been able to write rules that GHC accepts, but not make
them actually fire[4]. I'd be grateful for any assistance people can
provide.
Best,
-- Jack
[1]: http://hackage.haskell.org/package/semialign-extras-0.1.0.0
[2]: https://github.com/qfpl/semialign-extras
[3]: https://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Map-Merge-Lazy.html
[4]: https://github.com/qfpl/semialign-extras/issues/3
More information about the Haskell-Cafe
mailing list