IntersectMBO / IntersectMBO/ouroboros-consensus
Clean up general purpose utility functions
- Dominant language
- Haskell
- Stars
- 67
- Forks
- 43
- Avg merge
- 5d 13h
- Merged PRs (30d)
- 43
Description
We have accumulated a non-trivial set of utility and helper functions in `Ouroboros.Consensus.Util` and `Test.Util.Split`.
- Several, especially list-based functions are only used in tests. They should probably not be implemented in `Ouroboros.Consensus.Util` in order to not make lists overly appealing as a data structure in our actual code. This is part of clearly distinguishing between the `Ouroboros.Consensus.Util.*` and `Test.Util.*` modules.
- We should remove unused functions (e.g. via [`weeder`](https://github.com/ocharles/weeder)), and ensure that the ones we actually use are (property) tested or replaced by using a published library if appropriate.
Motivation for this ticket: https://github.com/input-output-hk/ouroboros-network/pull/3860#discussion_r1011909460
Contributor guide
Assessment
This issue has not been assessed yet.