BSD-3-Clause licensed by Don Stewart, Oleg Grenrus
Maintained by
Oleg GrenrusThis version can be pinned in stack with:dlist-nonempty-0.1.3@sha256:40e5330a6ddc49c77a64678c23747656dc0bacd9f4c357d27b3397b919361f48,2797
Module documentation for 0.1.3
Difference Lists in Haskell
The NonEmpty
version of difference lists: list-like type supporting O(1) append ans snoc operations.
This is a fork of a dlist
package.
benchmarking right-append/List
time 13.63 ms (13.36 ms .. 14.04 ms)
0.997 R² (0.994 R² .. 0.999 R²)
mean 13.60 ms (13.49 ms .. 13.76 ms)
std dev 332.4 μs (240.8 μs .. 409.5 μs)
benchmarking right-append/NonEmpty
time 31.87 ms (25.83 ms .. 35.97 ms)
0.927 R² (0.890 R² .. 0.969 R²)
mean 23.76 ms (21.98 ms .. 26.23 ms)
std dev 4.648 ms (3.053 ms .. 5.538 ms)
variance introduced by outliers: 78% (severely inflated)
benchmarking right-append/DList
time 38.18 μs (38.09 μs .. 38.32 μs)
1.000 R² (0.999 R² .. 1.000 R²)
mean 38.18 μs (38.03 μs .. 38.46 μs)
std dev 667.8 ns (325.0 ns .. 1.164 μs)
variance introduced by outliers: 13% (moderately inflated)
benchmarking right-append/NonEmptyDList
time 33.58 μs (33.30 μs .. 33.89 μs)
0.999 R² (0.999 R² .. 1.000 R²)
mean 33.86 μs (33.67 μs .. 34.14 μs)
std dev 801.9 ns (616.6 ns .. 1.240 μs)
variance introduced by outliers: 22% (moderately inflated)
benchmarking right-append/DNonEmpty
time 79.79 μs (79.60 μs .. 80.10 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 80.52 μs (80.23 μs .. 80.92 μs)
std dev 1.162 μs (757.0 ns .. 1.795 μs)
0.1.3
- Use
foldable1-classes-compat
in additional to (old) semigroupoids
as Foldable1
provider.
0.1.2
- Mark modules as explicitly Safe or Unsafe
- Bump lower bounds
- Drop dependency on base-compat
- More efficient conversion to DList
0.1.1
- Support
semigroupoids-5.2.1