⚜️

Typed French

Learn French grammar as TypeScript types.

GitHub
🌱 Elementary · 1

Gender & articles: le, la, un, une

Imagine pointing at things in a Paris market: that cat, a house, the apple. Before you can say almost anything in French you have to do something English never asks of you — decide whether each noun is masculine or feminine, and pick the article that agrees with it. This chapter starts there: the gender that every noun carries, the definite articles le / la / l', the indefinite un / une, and how an adjective quietly changes shape to match.

Every noun has a gender — le and la

In French, every noun is either **masculine** or **feminine**. This isn't about biology — a table (la table) is feminine and a book (le livre) is masculine for no reason you can feel; the gender is simply part of the word, like a hidden tag you must learn together with its meaning.

The definite article (English “the”) changes to match: le before a masculine noun, la before a feminine one. So le chat is “the cat” and la voiture is “the car”. Because the article announces the gender, native speakers hear la and already expect a feminine word to follow.

The practical advice every learner eventually accepts: never memorise a noun bare. Learn le chat, not chat; learn la maison, not maison. The article is the cheapest way to carry the gender with you.

In the code below, we tag the noun with its gender (CommonNoun<"chat", "m">) and let the type system pick the article. Hover the final type — the compiler resolves it to the full sentence.

The cat is black.
Words
The car is big.
Words

Before a vowel: l'

French dislikes the little clash of two vowel sounds bumping together. So when a noun begins with a vowel (or most silent h), both le and la shrink to l' and attach directly to the word: not le homme but l'homme, not la eau but l'eau. This squeezing-together is called **elision**, and you'll meet it again and again (jej', nen', ded').

Notice that l' hides the gender — l'enfant could be masculine or feminine — which is exactly why carrying the article from the start matters: once a word elides, the article can no longer tell you its gender.

The type system applies the same rule automatically: give DefiniteNP a vowel-initial noun and it produces l'… with no space.

The child is small.
Words

A, an: un and une

When you mean “a / an” — one unspecified thing rather than a known one — French uses the indefinite article: un for masculine, une for feminine. un chat is “a cat”; une pomme is “an apple”. Same gender split as le / la, just the indefinite flavour.

This is the difference between le café (“the coffee”, a specific one) and un café (“a coffee”, any one — what you order at the counter). Choosing between definite and indefinite is the same choice English makes with the/a; the only extra tax French charges is, once again, agreement for gender.

Adjectives keep agreeing too: rouge already ends in -e, so it looks the same in masculine and feminine — a small mercy.

An apple is red.
Words