Anagram¶
anagram · word · validated
A text using exactly the letters of another, rearranged.
Provenance¶
- Source: Attributed to Lycophron (3rd century BC); systematised by Oulipo
- Attribution:
traditional— classical or folk; no single origin to name - Checkability:
source— decidable against the source text it was made from - Attested:
codified— formulated as a rule by a tradition rather than declared by an author
Details¶
- Kind: both
- Languages: en, de, fr
- Requires:
tokens,fold_diacritics - Deterministic: yes
- In other languages: Anagramm (de), Anagramme (fr)
Prompt hint¶
Rearrange all the letters of the source phrase into a new phrase, using each exactly once.
Parameters¶
| Name | Type | Default | Description |
|---|---|---|---|
allow_subset |
boolean | False |
Accept a transposal — a candidate built from some of the source's letters rather than all of them. Surplus letters are refused either way. |
fold_diacritics |
boolean | True |
Treat accented letters as their base letter, and ß as ss. |
source |
string | — |
The text this one was made from. |
Examples¶
listen-silent¶
en — this text satisfies the procedure.
silent
Parameters: source='listen'
Source: Traditional; the standard English example
not-an-anagram¶
en — this text does not satisfy the procedure.
silence
Parameters: source='listen'
Source: constructed counterexample
chien-niche¶
fr — this text satisfies the procedure.
niche
Parameters: source='chien'
Source: constructed example; this is what apply("anagram", "chien", lang="fr") returns now that the French pack carries lexicon.graded_words — the checker already ran in French, and this is the generation the capability adds.
une-lettre-en-trop¶
fr — this text does not satisfy the procedure.
chiens
Parameters: source='chien'
Source: constructed counterexample; chiens carries a letter chien does not
lebensmittel-mitbestellen¶
de — this text satisfies the procedure.
mitbestellen
Parameters: source='Lebensmittel'
Source: generated by this row's own apply and checked back, 2026-09-04. A single word rearranging into a single word, which is the case worth leading with.
taschenrechner-arche-sternchen¶
de — this text satisfies the procedure.
arche sternchen
Parameters: source='Taschenrechner'
Source: generated by apply and checked back; the row German anagram exists for
not-an-anagram-de¶
de — this text does not satisfy the procedure.
esel lese
Parameters: source='Lebensmittel'
Source: constructed counterexample; the letters do not cover the source at all, so this fails on missing_letter and surplus_letter rather than on the lexicon
right-anagram-wrong-source-de¶
de — this text does not satisfy the procedure.
mitbestellen
Parameters: source='Taschenrechner'
Source: constructed counterexample; a real German anagram, checked against a source it is not an anagram of — the letters are the whole verdict here