Changelog for toolbox-0.5.0.0
Changelog for toolbox
v0.5.0.0
update to GHC 9.6
v0.4.0.0
Remove Month in favour of the one found in newer version of time.
Also update to Cabal 3.6, and remove Stack project
v0.3.1.0
Add groupAll :: (Ord a) => [a] -> [NonEmpty a]
v0.3.0.0
Removes monoidal containers (Data.Map.Monoidal.*, Data.IntMap.Monoidal.*) from the package in favour of monoidal-containers and deep-map.
v0.2.0.0
This release delivers a strict, nested map type called DeepMap, parametrized by a type-level list of keys reaching a single value type, which is ideally a Semigroup. The interface is presented in the style of Data.Map from the containers package, with additional versions of common functions for ease of use with DeepMaps of depth up to 5.
v0.1.2.0
New functions:
Data.Map.MonoidalinvertKeys :: (Ord j, Ord k, Semigroup a) => Map j (Map k a) -> Map k (Map j a)
Control.Monad.Toolbox(<<$>>) :: (Functor f, Functor g) => (a -> b) -> g (f a) -> g (f b)- Re-export
Data.FunctorDocumentation fixes inData.Map.Monoidal
v0.1.1.0
New functions:
Data.Tuple.ToolboxfirstF :: (Functor f) => (a -> f b) -> (a, x) -> f (b, x)secondF :: (Functor f) => (a -> f b) -> (x, a) -> f (x, b)- friends of the above for higher tuples
toFirst :: (Functor f) => (a -> f b) -> a -> f (b, a)toSecond :: (Functor f) => (a -> f b) -> a -> f (a, b)unpairFst :: ((a, b), c) -> (a, b, c)unpairSnd :: (a, (b, c)) -> (a, b, c)pairFst :: (a, b, c) -> ((a, b), c)pairSnd :: (a, b, c) -> (a, (b, c))dup :: a -> (a, a)
Data.List.Toolbox.unsnoc :: [a] -> Maybe ([a], a)Data.List.NonEmpty.ToolboxwithNonEmpty :: [a] -> (NonEmpty a -> b) -> Maybe bwhenNonEmpty :: (Monad m) => [a] -> (NonEmpty a -> m ()) -> m ()whenNonEmptyM :: (Monad m) => m [a] -> (NonEmpty a -> m ()) -> m ()Bug fixes:
Data.Time.Timeframeintersectnow properly calculates intersections and supports instantaneous overlapsunionsis now terminating
v0.1.0.0
The first release contains a small selection of useful functions over the base libraries, as well as convenient alternative class implementations for map types from the containers library.
Data.Map.MonoidalandData.IntMap.Monoidal- Both strict and lazy versions
- Interface designed to closely match the
containersversions
Data.Time.Timeframe- Bounded and unbounded time intervals
- Unions and intersections of timeframes
M.Toolboxutilities- Additional functions with intuitive names