Automattic / Automattic/harper
Add support for adjectives that can only be used attributively or only predicatively
- Dominant language
- Rust
- Stars
- 15.4k
- Forks
- 627
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 106
Description
Most English adjectives can be used either before or after a noun in ways like these:
- a **black cat** - _attributive_ use
- that **cat** is **black** _predicative_ use
(In questions there is _inversion_, which affects the placement of attributive nouns.)
But there are adjectives that can be used only one way, and getting them wrong is a common class of mistakes mostly by nonnative English speakers.
Attributive only:
- ✅ The **chief** culprit / ❌ Which culprit is **chief**?
- ✅ My **elder** sister / ❌ My sister is **elder**
- ✅ The **former** president / ❌ One president is current but other living presidents are **former**
- ✅ The **inner** sanctum
- ✅ The **Lone** Ranger
- ✅ Her **sole** reason
- ✅ Which one is the **main** event? ❌ Which event is main?
- ✅ A **mere** child
- **latter** / **previous** / **eventual** / **ultimate**
Predicative only:
- ✅The house was **ablaze** / ❌ An **ablaze** house
- ✅ They stayed **afloat**
- ✅ She is **afraid** / ❌ The **afraid** woman saw a snake
- ✅ The fish is **alive**
- ✅ He was **alone**
- ✅ The baby is **asleep** - ❌ Don't wake the *asleep* children
- ✅ They are **awake**
- ✅ They are very much **alike**
- ✅ He is **ill**
If we add a new pair of symbols to mark each to `annotation.json` and apply them to the appropriate entries in `dictionary.dict` we could then add methods to query them on `TokenKind` and `SequenceExpr`. I'm thinking these would be suitable and mnemonic: `«` for attributive, since it points to "before", and `»` for predicative since it points "after".
Contributor guide
Assessment
This issue has not been assessed yet.