af0dfd89

Created Started Cancelled

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

Say it without the negations

A reader parses "nothing X is Y" slower than "only X is Y", and stacked
negations worse still. The prose had a lot of both. CommentBareTodo's
why ran three deep: a TODO nothing points at is a note nobody is
holding, and nothing brings it back up. HsNoFilePath scoped one
negation over a three-way disjunction: it does not say file or
directory, absolute or relative, or path at all.

Say the positive thing instead.

The nothing-but exception form became only: only the Main that gathers
the specs reads a test file, only a library can be imported, a test file
binds only spec. Where the negation was carrying real content it stayed,
as a single contrast one clause deep: a path is a Path, not a FilePath.

HsNoCustomShowRead is the one this started from. It now says what a
written Show does, rather than what nothing does about it, and its
unless became a plain either-or.

The report layer got the same pass: a suppression sits on its own rather
than not being attached to anything, and an unknown rule id asks the
reader to check the spelling rather than explaining what turning off a
name nothing answers to leaves running.

Goldens reset.
GitHub