0c387349

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Write down what the two scalar rules cost to find out

Both were written, shipped and taken back out, and the reason is the same one
twice: each was measured on this repository, where the practice it asks for was
already in place, so the only sites left were the ones it was best at. Pointed
at a repository that had not adopted it, HsNoAnonymousScalar wanted a
suppression at forty-eight percent of its findings and HsScalarNewtypeUnused
named the wrong type at three in eight.

The residues are worth knowing because neither was the one predicted.
HsNoAnonymousScalar's is a status or a name beside a message somebody else
wrote, which is the commonest shape an error constructor has, rather than the
numeric pairs the proposal expected. HsScalarNewtypeUnused's is a field holding
another system's data under a name the project also uses, which no filter here
separates from our own because the difference is in what the data means.

The code is on origin/scalar-keeps, origin/scalar-ambiguity,
origin/scalar-newtype-unused, origin/scalar-matching-words and
origin/hs-no-anonymous-scalar, including the resources that were argued over
line by line and are the best record of what either rule meant. Their rows are
back in plan/rules.md as ratchets, with what a retry should measure first.
e2e-added-rule-is-rune2e-artifacts-are-reade2e-choices-are-found-beside-the-repositorye2e-cleane2e-dirty-package-is-judged-failinge2e-dirty-project-is-judged-failinge2e-dirty-report-is-readablee2e-disabled-rule-is-not-rune2e-incomplete-artifacts-are-a-failuree2e-judging-nothing-failse2e-named-packages-are-every-packagee2e-no-packages-is-judged-failinge2e-no-store-paths-in-findingse2e-paths-are-repository-relativee2e-withheld-facts-faile2e-wrong-source-mapping-is-a-complainthlint-checkhopinionpre-commitreleaseshellweeder-checkconfiguredevShelldefaultx86_64-linux