IntersectMBO / IntersectMBO/cardano-ledger

Review records

Open
#1,674 0 comments 0 reactions 1 assignee Claimed by @lehins View on GitHub
:credit_card: technical-debt
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

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.