33fafacc

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

Read a Maybe of a primitive, and not a collection of one

A collection of a thing has a different character from the thing: a reader of a
list has been told that there are several, which is something, and the name it
wants goes on the element rather than on the field. A Maybe holds at most one,
so a field holding one is as anonymous as a field holding the thing, and the
newtype that fixes it goes inside.

[Char] stays, because it is String spelled out and a primitive read under one
spelling and not the other would be a way around the rule that nothing else
closes.

ErrorDecl holds a DeclName rather than a Text, which is unrelated to the above
and is here because it is the one thing a rule that did not survive found in
this repository. TypeHead would have been the other candidate and is
documented as the head of an applied type with its arguments dropped, which is
deliberately lossy; this field holds a declaration's own name, read off the
same tcdLName every DeclName comes from.

OTHER_RULE_PROPOSAL.md says what that rule was and why eleven findings in a
production repository turned into five right ones, which is the part worth
keeping. Its row is back in plan/rules.md as a ratchet.

Total

7s

Created Started Finished

Time to Start Worker time Duration Time to finish Idle
Config 0s 0s 0s 0s 0s
Eval 0s 6s 6s 7s 0s
Build 7s 0s 0s 7s 0s
Suite 0s 7s 7s 7s 0s

Timeline

Config Eval Build
0s