Deprecate `auto`?
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
Research direction
Start by reviewing the existing auto reader and the proposed integralOption and fractionalOption alternatives. Consider how maybeReader and eitherReader would support custom parsers, then clarify the deprecation scope and migration path before defining what implementation and documentation would be complete.
Written by the indexing model from the issue text.
Description
Haven't really thought this through for more than a minute, but wondering if there's any interest in eventually deprecating auto in favour of more concrete readers.
It's been a reliable source of bugs for me / teams I've worked on, since someone inevitably ends up using auto for a string type or a newtyped string/integral. These tend to appear both when writing initial parsers and when changing code a module or two away, in the same way show tends to create subtle non-local bugs when refactoring.
Would involve adding integralOption / fractionalOption for the cases where you might actually want Read, then deprecating auto. Users who want to keep using custom parsers can use maybeReader / eitherReader so their intent is made clear in the code.
- Dominant language
- Haskell
- Stars
- 957
- Forks
- 124
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pcapriotti/optparse-applicative
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
pcapriotti/optparse-applicative#524 · 2 comments ·
-
Allow replacing commands with metavar when using parserOptionGroupPossibly taken @tbidne claimed this 86 days ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
pcapriotti/optparse-applicative#523 · 1 comment · 1 reaction ·
-
Nushell CompletionsOpen
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
pcapriotti/optparse-applicative#513 · 4 comments ·
All issues in pcapriotti/optparse-applicative
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
IntersectMBO/cardano-ledger#6276 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
OpenZeppelin/canton-contracts#92 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
hasura/graphql-engine#10954 ·
Maintainers usually reply within 1 day