Automattic / Automattic/harper

Add support for adjectives that can only be used attributively or only predicatively

Open
#3,348 4 comments 0 reactions 1 assignee Claimed by @quick123-666 View on GitHub
dictionary enhancement good first issue grammar harper-core
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.