Paragram¶
paragram · letter · validated
A text built by changing a single letter of a word to produce another, turning the alteration into the point of the line.
Provenance¶
- Source: Traditional; a classical rhetorical figure
- Attribution:
traditional— classical or folk; no single origin to name - Checkability:
self— decidable from the text and its parameters alone - Attested:
codified— formulated as a rule by a tradition rather than declared by an author
Details¶
- Kind: both
- Languages: en
- Requires:
tokens,fold_diacritics - Deterministic: yes
- In other languages: Paragramm (de), Paragramme (fr)
Notes¶
The checker needs no dictionary: both halves of the swap are in the text, so two words of a length differing in one place is the whole property. The generator does need one — it has to know that what it produced is a word — so apply requires lexicon.words and raises MissingCapability without it, while check keeps working on the core pack alone.
Prompt hint¶
Change one letter of a word to make another, and build the sentence on the swap.
Parameters¶
| Name | Type | Default | Description |
|---|---|---|---|
fold_diacritics |
boolean | True |
Treat accented letters as their base letter, and ß as ss. |
minimum |
integer | 1 |
How many swapped pairs are wanted. |
Examples¶
cat-sat-mat¶
en — this text satisfies the procedure.
the cat sat on the mat
Source: constructed example
no-shared-length¶
en — this text does not satisfy the procedure.
one three seventeen
Source: constructed counterexample