IntersectMBO / IntersectMBO/cardano-ledger
Review records
- Dominant language
- Haskell
- Stars
- 295
- Forks
- 179
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 29
Description
The exec spec currently makes use of lots of positional parameters. This was done to promote consistency with the spec, but can be confusing even in the formal spec (see e.g. https://input-output-rnd.slack.com/archives/CCRB7BU8Y/p1594649356025400) and can result in some definite bugs in the exec spec (e.g. https://github.com/input-output-hk/cardano-ledger-specs/pull/1651).
We should reconsider how we do this, and take the opportunity to introduce some lenses which would make various of our nested state updates much nicer. There's a big anti-`lens` sentiment, so our options are `microlens` or `optics`. I would say it would be nice if we could avoid TH, but I'm not sure how easy that is. Maybe look into `generic-optics`, for example.
Contributor guide
Assessment
This issue has not been assessed yet.