mini
Minimal essentials
https://gitlab.com/vicwall/mini
| Stackage Nightly 2026-08-02: | 2.0.0.0 |
| Latest on Hackage: | 2.0.0.0 |
MIT licensed and maintained by Victor Wallsten
This version can be pinned in stack with:
mini-2.0.0.0@sha256:0b3f7db57d2e591958bf321fcb5440ca5e510d2f124e5ed34bc4fa9ba44ee443,1991Module documentation for 2.0.0.0
- Mini
- Mini.Data
- Mini.Hash
- Mini.Linear
- Mini.Optics
- Mini.Random
- Mini.Transformers
Depends on 1 package(full list with versions):
Everyday essentials: data structures, primitive recursion, hashing, linear algebra, lenses, randomness, transformers, and parsing.
Uncompromisingly light on dependencies.
Easily navigable code base, keeping indirection and clutter to a minimum.
Changes
Commit log filtered for feature changes and bug fixes
(!) Breaking change
2.0.0.0 [2026-08-01]
data: Add 'Hashable' instances
transformers: Add 'Random' instances
(!) transformers: Rename modules sans ending 'T'
(!) linear(quaternion): Add fixity to operators
(!) linear(matrix): Change fixity of '(^*#)'
(!) linear(matrix): Change fixity of '(#*^)'
(!) data(graph): Change return type of 'outdegrees'
(!) data(graph): Change return type of 'indegrees'
(!) data(graph): Remove all 'lookup' variants
data(graph): Add 'outgoing'
data(graph): Add 'incoming'
data(graph): Add 'split'
data(graph): Add 'partition'
(!) data(graph): Remove 'assocs'
(!) data(graph): Change 'Show' implementation
data(graph): Add 'filter'
(!) data(graph): Change parameter type of 'disconnect'
(!) data(graph): Change parameter type of 'connect'
(!) data(graph): Change parameter type of 'fromList'
(!) data(graph): Change return type of 'reachable'
(!) data(graph): Replace 'layers' with 'bfs'
(!) data(graph): Remove 'empty'
(!) data(map): Rename 'isSubmapOf{,By}' 'submap{,By}'
(!) data(map): Rename 'partitionWith' sans With
(!) data(map): Rename 'filterWith' sans With
(!) data(map): Rename 'update{,Max,Min}With' sans With
(!) data(map): Rename 'adjust{,Max,Min}With' sans With
(!) data(map): Rename '*WithKey' to '*With'
data(map): Disable membership check in 'delete'
(!) data(map): Remove 'unions{,With,WithKey}'
(!) data(map): Require 'Ord' keys for construction
(!) data(map): Remove 'empty'
(!) data(map): Remove 'null'
(!) data(map): Remove 'size'
(!) data(map): Remove 'valid'
(!) data(map): Remove unsafe constructors
(!) data(set): Rename 'isSubsetOf' to 'subset'
data(set): Disable membership check in 'insert'
data(set): Disable membership check in 'delete'
(!) data(set): Remove 'unions'
(!) data(set): Require 'Ord' elements for construction
(!) data(set): Remove 'empty'
(!) data(set): Remove 'null'
(!) data(set): Remove 'size'
(!) data(set): Remove 'valid'
(!) data(set): Remove unsafe constructors
(!) data(array): Remove 'numElements'
(!) random(splitmix): Prune operations
1.7.0.0 [2026-07-21]
(!) Rework Murmur32 for the new Hash class
hash(class): Add class 'Hash'
(!) transformers(either): Replace 'anticipate' with 'eitherT'
(!) transformers(maybe): Replace 'anticipate' with 'maybeT'
1.6.5.0 [2026-07-21]
transformers(either): Add 'right'
transformers(maybe): Add 'just'
1.6.4.0 [2026-07-08]
Create Mini.Linear.Quaternion
Create Mini.Linear.Transform3D
Create Mini.Linear.Transform2D
Create Mini.Linear.Matrix
Create Mini.Linear.Vector
Create Mini.Linear.Space
Create Mini.Linear.Approx
1.6.3.0 [2026-05-02]
random(class): Add instance Splittable SplitMix
random(class): Add class Splittable
random(class): Add instance Generator SplitMix
Create Mini.Random.SplitMix
1.6.2.0 [2026-05-01]
Create Mini.Random.Class
1.6.1.0 [2026-02-10]
Create Mini.Hash.Murmur32
Create Mini.Hash.Class
1.6.0.0 [2025-04-27]
(!) data(recursion): Prune re-exports
transformers(parser): Add parser 'look'
transformers(parser): Add combinator 'range'
transformers(parser): Add combinator 'atMost'
transformers(parser): Add combinator 'atLeast'
(!) transformers(either): Relax constraints
(!) transformers(maybe): Relax constraints
(!) transformers(parser): Simplify Either to Maybe
1.5.5.2 [2025-01-27]
1.5.5.1 [2025-01-20]
(!) package: Fix lower bound 'base' version
1.5.5.0 [2025-01-20]
Create Mini.Data.Recursion
1.5.4.0 [2025-01-18]
data(set): Add 'from{Distinct,}{Asc,Desc}List'
data(map): Add 'from{Asc,Desc}List{,With,WithKey}'
data(map): Add 'fromDistinct{Asc,Desc}List'
1.5.3.0 [2025-01-09]
transformers(parser): Add combinator 'findAll1'
transformers(parser): Add combinator 'findAll'
transformers(parser): Add combinator 'till1'
1.5.2.0 [2025-01-08]
Create Mini.Data.Graph
Create Mini.Data.Array
1.5.1.0 [2024-12-26]
data(map): Add 'split', 'splitMax', 'splitMin'
data(map): Add 'partition', 'partitionWithKey'
data(map): Add 'update{Max,Min}{,WithKey}'
data(map): Add 'fmapWithKey'
data(map): Add 'isSubmapOfBy'
data(map): Add 'disjoint'
data(map): Add 'updateWithKey'
data(map): Add 'deleteMax', 'deleteMin'
data(map): Add 'adjust{Max,Min}{,WithKey}'
data(map): Add 'adjustWithKey'
data(map): Add 'unions{,With,Key}'
data(map): Add 'unionWith', 'unionWithKey'
data(map): Add 'intersection{With,WithKey}'
data(map): Add 'difference{With,WithKey}'
data(map): Add 'compose'
data(set): Add 'disjoint'
data(set): Add 'split', 'splitMax', 'splitMin'
data(set): Add 'partition'
data(set): Add 'deleteMax', 'deleteMin'
data(set): Add 'unions'
1.5.0.0 [2024-12-25]
transformers(parser): Add combinator 'annotate'
(!) data: Simplify 'show'
(!) data: Fix element processing order of folds
1.4.3.0 [2024-12-08]
transformers: Add MonadIO instances
transformers: Add MonadFail instances
1.4.2.0 [2024-12-07]
(!) transformers(parser): Fix '<|>' errmsg propagation
transformers(parser): Add 'findFirst', 'findLast'
data(map): Add 'fromListWith', 'fromListWithKey'
data(map): Add 'insertWith', 'insertWithKey'
data: Add lookup{GE,GT,LE,LT} functions
(!) package: Fix lower bound 'base' version
1.4.1.0 [2024-11-01]
data(set): Add Semigroup/Monoid instances
(!) data: Instantiate Eq/Ord manually
1.4.0.2 [2024-10-29]
(!) data(map): Fix 'lookupMin' to fetch entire bin
(!) data(map): Fix 'lookupMax' to fetch entire bin
1.4.0.1 [2024-10-27]
1.4.0.0 [2024-07-01]
transformers(parser): Add combinator 'till'
transformers(parser): Add parser 'peek'
(!) transformers(parser): Prune
1.3.0.1 [2024-04-14]
1.3.0.0 [2024-03-28]
(!) transformers(parser): Prune
(!) transformers(parser): Simplify parse errors
1.2.2.1 [2024-03-20]
1.2.2.0 [2024-03-20]
transformers(parser): Add combinator 'accept'
transformers(parser): Add combinator 'reject'
1.2.1.0 [2024-03-16]
transformers(reader): Add function 'local'
1.2.0.0 [2024-03-15]
(!) transformers(parser): Simplify parse errors
1.1.1.0 [2024-03-14]
transformers(parser): Add chain combinators
transformers(parser): Add end-of-file parser
transformers(parser): Add monadfail instance
1.1.0.0 [2024-03-11]
(!) Harmonise module names to package.section.title
1.0.1.0 [2024-03-10]
transformers: Create maybe transformer
transformers(parser): Add semigroup, monoid
transformers: Export newtype constructors