60414380

Created Started Cancelled

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

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

HsNoAnonymousScalar counted a list and a NonEmpty as anonymous primitives. 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.

What this costs is the shape of all three sites the rule found in this
repository, each of which held its only primitive as a list. They have their
types now, and the rule will not ask for the next one.
GitHub