Sometimes we can see an l, but we do not say it. Walk, talk, calm and half all have a quiet l.
The rule
The l is silent in the -alk, -alm, -alf and -olk families. It is not silent simply because a consonant follows, and treating it that way produces wrong readings of some very common words.
What is really going on
In several established English word families — principally -alk, -olk, -alf and -alm — the written l is historically retained but is not pronounced in modern standard English. The loss happened before k, m and f specifically, and the vowel before it changed at the same time, which is why walk is /wɔːk/ rather than /wæk/. Before other consonants the l survived, which is why milk, silk, help, salt and film are unaffected.
Why English does this
The l stopped being pronounced before /k/, /m/ and /f/ in late Middle English, and the vowel it left behind backed and lengthened. Spelling had already been fixed, so the letter stayed. This is a narrow, conditioned change, not a general rule about l before consonants.
Position in the word
Before a consonant — Silent specifically before k, m and f in these families. For example: walk, calm, half, folk.
Before a consonant — Pronounced before every other consonant. For example: milk, help, salt, film, belt.
When this rule works
The word is in the -alk family: walk, talk, chalk, stalk.
The word is in the -alm family: calm, palm, balm, psalm.
The word is in the -alf family: half, calf, behalf.
The word is in the -olk family: folk, yolk.
When this rule does not work
Any other consonant follows the l — milk, silk, bulk, help, salt, halt, belt, film, shelf, gulp all keep it.
The l is doubled — ball, call, tall, shall.
The l begins the word or the syllable — like, love, ladder.
These three also have a silent l, but they are not part of the -alk family and the pattern -oul- is not productive: shoulder and boulder keep their l. Teach them as three irregular high-frequency words, not as evidence that oul means a silent l.
would, could, should
Exceptions
L is pronounced: milk, silk, bulk, sulk, help, yelp, gulp, salt, halt, belt, melt, film, shelf, elf, golf, bald. The historical loss happened only before k, m and f. Every other consonant kept it.
Accent-dependent: almond, salmon, falcon. Some speakers pronounce the l in almond and salmon; both are standard.
Contrast pairs
walk versus milk — The pair that stops the over-generalisation. Both have l before a consonant; only one is silent.
calm versus film — Same, with m.
half versus shelf — Same, with f.
talk versus salt — Same k versus t contrast.
Decodable sentences
The man can walk to the shop.
We saw a calf near the farm.
Half the chalk fell on the calm palm of my hand.
Common reading mistakes
walk: a child reads /wɔːlk/ with the l said, where the word is /wɔːk/. Silent letter pronounced.
milk: a child reads /mɪk/, where the word is /mɪlk/. Over-generalisation of the silent-l rule.
half: a child reads /hælf/, where the word is /hɑːf/. The l said and the vowel left short.
could: a child reads /kuːld/, where the word is /kʊd/. The special word family decoded as if regular.
Do not teach it like this
"L is silent before k." — or, worse, "l is silent before a consonant."
Milk, silk, bulk and sulk all have l before k and all pronounce it. The broader version is worse still: help, salt, belt, film, shelf and golf are all common words a child reads early, and all of them keep the l.
"L is silent in some word families, like -alk and -alm." Then teach the families by name, and contrast them with milk and help in the same lesson.
Teacher note
Teach this as a limited word-family pattern rather than telling children that l becomes silent before consonants. Start with walk, talk, chalk, calm, palm, half and calf. Introduce would, could and should separately as irregular high-frequency words, because the oul pattern does not generalise — shoulder keeps its l. Always pair the family with a contrast word: walk and milk in the same breath.
Teaching sequence
Introduce -alk as a rime family: walk, talk, chalk, stalk.
Contrast immediately with milk, silk and help, so the boundary is set before the over-generalisation forms.
Add -alm and -alf: calm, palm, half, calf.
Add -olk: folk, yolk.
Teach would, could and should separately, as heart words.