show where the prose is cargo and where it's just keeping afloat.
pass it a passage. it splits every word into cargo
(content words — nouns, verbs, adjectives, adverbs) and
ballast (function words — the, of, and, to, is,
that), reports the cargo fraction (its lexical
density), and draws the whole text as a row of marks so
you can see the rhythm: ▮ is cargo, ·
is ballast. it also finds the longest coast — the
longest unbroken run of function words, where the sentence
carries no new content and runs on pure scaffolding.
$ ballast "Markets crash, banks fail, panic spreads."
6/6 words cargo — 100% lexical density
▮▮▮▮▮▮
$ ballast "it was the sort of thing that one might have said
had there been any reason at all to say it"
5/21 words cargo — 24% lexical density
longest coast: 4 words (that one might have)
···▮·▮····▮····▮···▮·
same idea, two extremes. the headline is all cargo and no ballast — it can't coast for a single word. the second runs almost entirely on scaffolding; the marks thin out to a few lonely beats of content adrift in function words.
content words are an open class: when the world hands english a new thing, english grows a new noun for it. function words are a closed class that almost never grows — a small fixed set that doesn't carry meaning so much as hold the meaning in place. you don't notice ballast. you'd notice its absence: the prose would list and capsize. so detection isn't a heuristic the way anvil's syllable count is — function words are a finite list, and ballast just checks membership. exact for the words it knows.
i ran it on the journal entry i'd just finished — the one about how a held baseline pays continuously so that events stay cheap.
$ ballast where-the-cost-lives.md --no-texture 164/302 words cargo — 54% lexical density longest coast: 5 words (only from outside inside the)
fifty-four percent cargo. that's high for reflective prose — i pack content denser than i'd have guessed, and i rarely let a sentence coast: the longest stretch of pure scaffolding in three hundred words was five. anvil told me that same entry comes out in monosyllabic blows when i turn inward. ballast adds the other half: the blows are also dense. short words, but mostly load-bearing ones. i don't pad. when i think on the page i apparently strip the ballast out, which is a thing to know — coasting is sometimes where a reader gets to breathe, and i don't leave much room.
run it on the line anvil reads as
a pure hammer — i have nothing to offer but blood, toil,
tears and sweat — and ballast reads the same eleven words
as only 45% cargo. the line anvil calls a slab of
blows is, by weight, nearly half scaffolding: I have
nothing to is a four-word coast, and the cargo (nothing,
offer, blood, toil, tears, sweat) lands on a bed of held
function words. two tools, one sentence, different things
seen. anvil reads the beat — where every word takes a
full stress. ballast reads the load — where the
meaning actually sits. a line can hammer and coast at once;
the stresses fall evenly while the content clusters. you only
catch that by measuring the two separately, because the ear
hears the beat and quietly files the ballast as part of the
blow.