Top AI Repos โ open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
๐ธ Learn Japanese grammar with TypeScript
| Date | Stars |
|---|---|
| 2026-07-24 | 1936 |
| 2026-07-25 | 1936 |
| 2026-07-28 | 1936 |
| 2026-07-30 | 1936 |
| 2026-08-06 | 1936 |
Today
โ stars today
This week
โ stars this week
This month
โ stars this month
Momentum
0.0
growth rate 0.00%/day
# ๐ธ Typed Japanese
**If you can write TypeScript, you can understand Japanese!**
[](https://stackblitz.com/github/typedgrammar/typed-japanese)

> ๐ธ **New: [Interactive Playground โ](https://typedgrammar.github.io/typed-japanese/)** โ an in-browser TypeScript editor where the compiler resolves conjugations live, plus a Verb Lab, Adjective Lab, Phrase Builder, and Sentence Gallery. ([source](./playground) ยท run locally with `cd playground && pnpm install && pnpm dev`)
Typed Japanese is a TypeScript type-level library that enables the expression of complete Japanese sentences through the type system. It creates a domain-specific language (DSL) based on Japanese grammar rules, allowing a subset of grammatically correct natural language to be written and verified using TypeScript's compiler.
This project also explores an intermediate format for AI in language learning. For example, LLMs could return grammar analysis of Japanese sentences using this format instead of JSON, enabling verification through TypeScript's type checker to improve correctness.
> ๐ **Want to learn more?** Check out our [detailed blog post](./blog.md) which explains how the TypeScript type system can be used to learn Japanese grammar from the ground up. The article starts with basic programming concepts and gradually builds up to complex Japanese grammatical structures like conditional sentences and interrogative phrases.
```typescript
// Define the proper noun "ใใณใกใซ"
type ใใณใกใซ = ProperNoun<"ใใณใกใซ">;
// Define ใใ verb
type ใใ = IrregularVerb & { dictionary: "ใใ" };
// Create the ใใใใ pattern (past form of ใใใใ)
type ใใใใ = DemonstrativeAction<Demonstrative & "ใใ", ใใ, "Ta">;
// Create the conditional phrase "ใใณใกใซใชใใใใใ"
type ใใณใกใซใชใใใใใ = ConditionalPhrase<ใใณใกใซ, "ใชใ", ใใใใ>;
// Type checking examples
const properExample: ใใณใกใซใชใใใใใ = "ใใณใกใซใชใใใใใ"; // "If it were Himmel, he would do so"
// ๅฆๆๆฏ่พ็พๅฐ็่ฏ๏ผไปไนไผ่ฟไนๅ็
```
## ๐ค Verb System
### Verb Classes
Japanese verbs are categorized into three main classes:
1. **Godan Verbs (ไบๆฎตๅ่ฉ)** - Also known as "Group 1" or "u-verbs"
- Endings: ใ, ใ, ใ, ใ, ใค, ใฌ, ใถ, ใ, ใ
- Examples: ่ฉฑใ (hanasu - to speak), ๆธใ (kaku - to write)
2. **Ichidan Verbs (ไธๆฎตๅ่ฉ)** - Also known as "Group 2" or "ru-verbs"
- Always end with ใ
- Examples: ้ฃในใ (taberu - to eat), ่ฆใ (miru - to see)
3. **Irregular Verbs (ไธ่ฆๅๅ่ฉ)** - Only two main verbs
- ใใ (suru - to do)
- ๆฅใ (kuru - to come)
### Verb Conjugation Forms
The system supports these conjugation forms:
- Dictionary (Dictionary form)
- Masu (Polite form)
- Te (Te form)
- Ta (Past form)
- Nai (Negative form)
- Potential (Potential form)
- Passive (Passive form)
- Causative (Causative form)
- Volitional (Volitional form)
- Imperative (Imperative form)
- Conditional (Conditional form)
- Hypothetical (Hypothetical form)
```typescript
type ่ฒทใ = GodanVerb & { stem: "่ฒท"; ending: "ใ" };
type ่ฒทใTe = ConjugateVerb<่ฒทใ, "Te">; // ่ฒทใฃใฆ
type ่ฒทใTa = ConjugateVerb<่ฒทใ, "Ta">; // ่ฒทใฃใ
type ้ฃในใ = IchidanVerb & { stem: "้ฃใน"; ending: "ใ" };
type ้ฃในใTe = ConjugateVerb<้ฃในใ, "Te">; // ้ฃในใฆ
type ้ฃในใTa = ConjugateVerb<้ฃในใ, "Ta">; // ้ฃในใ
```
## ๐จ Adjective System
Japanese adjectives are categorized into two main classes:
1. **I-Adjectives (ใๅฝขๅฎน่ฉ)** - End with ใ
- Examples: ใใ (good), ๆฅฝใใ (fun), ้ซใ (expensive)
2. **Na-Adjectives (ใชๅฝขๅฎน่ฉ)** - Require ใช when modifying nouns
- Examples: ็ถบ้บ (pretty), ้ใ (quiet), ๅฅฝใ (liked)
### Adjective Conjugation Forms
The system supports these conjugation forms for adjectives:
- Basic (Basic form)
- Polite (Polite form)
- Past (Past form)
- Negative (Negative form)
```typescript
type ใใ = IAdjective & { stem: "ใ"; ending: "ใ"; irregular: true };
type ็ถบ้บ = NaAdjective & { stem: "็ถบ้บ" };
```
## ๐ Copula System
The copula (ใ / ใงใ) turns a ไฝ่จ (noun or na-adjective stem) into a statement โ
"X is โฆ". It is **not** a particle: like a verb or an adjectivExcerpt of 8,587 characters
Read on GitHub94
1
Would you bet a product on this? Bounded 0โ100 and slow moving.
matched fp:b47b768d2c39b215, topic:nlp