In the following preamble leading up to the explanation, I am self-reporting how this all works for me personally so you can see where I’m coming from. I recognize that not everyone around the world talks the way I do. I am a native speaker
with the Inland North dialect of North America who was raised in the long lost rural southeastern Wisconsin of half a century ago before mass media inundation. I therefore have
the father–bother merger but not the cot–caught merger.
I also lack the Northern Cities Vowel Chain-Shift found in younger, more urban speakers from that region.
Usually we keep the L
When it both follows a stressed vowel and also precedes another consonant
in that same syllable, phonemic /l/ is normally retained in pronunciation
compared with the written form.
With one exception, it does not matter
whether this is a tense vowel or a lax one, nor whether it is a phonemic diphthong (or even a phonetic diphthong, a notion I’ll ignore here for clarity).
- /ɑl/ — (none, because the stressed FATHER vowel never occurs before /l/ for me in the coda)
- /æl/ — Alps, calc, calque, talc, scalp, shalt, Ralph, valve
- /el/ — paled, baled, scaled, whaled, veiled, bailed, hailed, nailed, failed
- /ɛl/ — Kelt, geld, belt, melt, smelt, meld, knelt, help, elk, whelk, elf, shelf, Guelph, delve, shelve, meld, realm, helm, wealth, twelfth, twelve, shelve, squelch
- /il/ — field, shield, kneeled, yield
- /ɪl/ — guilt, guild, built, build, bilge, kilt, killed, filled, filch, silk, milk, wilt, milled, film, filmed, kiln, sylph
- /ol/ — colt, cold, hold, molt, mold, volt, told, sold, souled
- /ɔl/ — Walt, waltz, fault, faults, salt, exalt, called, walled, galled, bawled, bald, golf, solve, alms, calm, calms, calmed, palm, balm, hauled, trawled, shawled, brawled, drawled, mauled, salsa
- /ul/ — coolth, ruled, pooled, cooled, fooled, fuelled
- /ʊl/ — pulled, hulk, sulk, wolf, wolves
- /ʌl/ — cult, sculpt, skulled, ?skulk, sultan, nulled, hulled, bulge, gulf, false, pulse, bulk, bulb, gulled, gulp, gulped, culled, lulled, mulled, indulge
- /ɑul/ — cowled, jowled, fouled, howled
- /ɑil/ — wild, mild, tiled, smiled, styled, aisled, vialled, trialled
- /oil/ — spoilt, oiled, toiled
But not quite always
However, in a few words only, mostly common ones, the /l/ phoneme is completely lost in that position compared with the written form:
- /ɑ/ — solder (because I have the FATHER–BOTHER merger)
- /æ/ — calf, half, calves, halves, salve
- /o/ — yolk, holm, ?folk, ?Polk
- /ɔ/ — talk, walk, balk, caulk, chalk
- /ʊ/ — could, would, should
As you see, the words where the /l/ has “gone missing” from the pronunciation are mostly words with lax vowels not tense ones there,
with yolk being the principal exception still in common use. Words like folk and Polk often lose the /l/, but not necessarily always.
So what’s really happening here?
There do appear to be patterns that could be detected. For example, notice how there are no occurrences of /el/ or /il/ followed by an unvoiced stop. Or how kneeled with a tense vowel becomes knelt with a lax one because the unvoiced stop checks the earlier vowel despite the intervening liquid.
The thing to remember here is that when we write phonemic /l/ — or /r/, or for that matter many other phonemes — we have deliberately clumped together any number of allophones that are all different sounds, but we’re trained not to hear them as different because they never result in a different word depending on which allophone shows up somewhere.
Consider let /lɛt/ and tell /tɛl/. Those two words have the same three phonemes; they merely swap the pair on the front and back with respect to each other. But when you do that, you have to select different allophones. You are saying the same phoneme but not the same sound.
The /t/ in tell is actually [tʰ], but the /t/ in let is just [t] or [ʔ]. And while for most speakers the /l/ in let is usually the voiced alveolar lateral approximant [l], the /l/ in tell may not be; it might instead be velarized alveolar lateral approximant written [ɫ] or [lˠ].
When you velarize the /l/ in the coda, it seems to get a bit mushy. When there’s a front vowel in front of it, as there is in tell, tale, teal, till, it may not velarize, or not much. Velarization happens in the back of your mouth. So when there is a back vowel in front of it, as there is tall, toll, pool, pull, that velarization is stronger. It even changes the low back vowel [ɑ] to the open-mid back vowel [ɔ] as in all, tall, fall, ball, call, Paul; almond, almost, balsam, balsamic. That even happens when I use the Spanish loanword salsa in English, where after naturalization from the original [ˈsalsa] in Spanish, it becomes [ˈsɔɫsə] like Saul or even [ˈsʌɫsə] like Tulsa.
The only word I know that retains an unmodified FATHER vowel [ɑ] there before final L is an import from India, the fiery dish variously spelled phaal or phall which is invariably pronounced [fɑl] or [fɑɫ], quite unlike how we pronounce our own word fall as [fɔɫ].
But you weren’t asking about words that end in ‹l›. You wondered about those that had ‹l› followed by another consonant. If that final consonant is a velar one, meaning unvoiced /k/ or voiced /g/, then the only chance you have to retain the dark, velarized ‹l› preceding it is if the vowel just before that is in the front of your mouth. That’s why we still have an /l/ in milk, whelk: it’s because /ɪ/ and /ɛ/ are front vowels.
But with a back vowel before your velarized ‹l› and velar consonant following it, your mouth has no chance to produce any kind of distinct /l/ sound. Hence its disappearance in talk, walk, balk, caulk, chalk, folk, Polk. Interestingly, there are no words in English that end in the voiced version, /lg/.
The words where the /l/ is most often lost in many but not quite all speakers are just that sort of combination, like folk and hulk. I also know speakers who’ve lost it in wolf, golf but those are back vowels anyway, which destabilize the L even with a front consonant to follow (as long ago happened to could, would, should).
So what’s the excuse for losing it in half, halves, calf, calves, salve, given that those have a front vowel /æ/ before the L and a front consonant following it, especially since talc, calque, elf, elves preserves it?
I don’t know. Maybe it’s like the people who’ve lost it in wolf and golf. But I do wonder whether it doesn’t have its origin in the TRAP–BATH split, where speakers who distinguish those two vowels have a front vowel for TRAP but a back vowel for BATH. If it was a back vowel when the L was lost, that might explain it.