IntersectMBO / IntersectMBO/ouroboros-consensus

Clean up general purpose utility functions

Open
#550 1 comment 1 reaction 0 assignees View on GitHub
technical debt
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.