flang компилятор доказывает, что программа не зациклится 0.6.2 GitHub

Восемь десятых внутренних слов на сайте приходятся на одну печатаемую страницу, а не на прозу

Владелец открыл опубликованный сайт и сказал, что страницы читаются как чужая история, а не как гайд о языке: «термины твои хуёвые из разряда корпус, близнец и прочее типа свидетель». Число, с которым пришли разбираться, — 729 вхождений в docs/site/*.md. Оно верное и ведёт не туда.

Чем подтверждено. grep по одиннадцати словам владельца на дереве github/main (коммит cb3b7a18, ветка vypusk/zapret-zhargona):

ГдеВхождений
docs/site/*.md целиком729
из них docs/site/changelog.md608
из них docs/site/releases*.md10
остальные 24 страницы, написанные руками111

changelog.md — журнал вливаний, он печатается из тем слияний (scripts/build-changelog-page.mjs), руками не правится, и темы эти пишутся для команды: «Слияние work/stdlib-json-time: json и datetime влиты поверх правки затенения». Править там нечего — там надо решать, стоит ли эта страница на публичном сайте вообще. То же у «Выпусков»: они печатаются из тегов и docs/release-notes.json.

Что из этого следует для работы. Задача «вычистить 729 мест» и задача «вычистить 111 мест плюс решить судьбу двух печатаемых страниц» — разные по цене примерно в шесть раз, и вторая настоящая. Ровно та же ошибка ждёт всякого, кто померит жаргон grep-ом по каталогу: печатаемые страницы дают основную массу, а читает человек прозу.

Чем ограничено. 111 — по одиннадцати русским словам. Прогон scripts/jargon-guard.mjs на тех же 24 страницах даёт 141: он считает ещё и английские пары (witness, ledger, corpus, twin, fixed point), которыми болеют английские половины страниц, зато не считает блоки кода, адреса ссылок и имена файлов — proof-ledger.mjs переименованием текста не чинится.

Где ещё течёт наружу, кроме страниц сайта. Тем же прогоном по 72 поверхностям, которые читает пришедший за языком, 1231 вхождение в 63 файлах:

ПоверхностьВхождений
спецификации (flang/proof/SPEC.md — 478, conc — 192, flang/SPEC.md — 60, cat — 18)748
прочие страницы docs/ (overview.ru.md — 73, замеры, память, модульность)177
страницы сайта docs/site/141
руководство docs/guide/97
справка и диагностика компилятора36
README и CONTRIBUTING32

Спецификации — самая большая доля, и это ожидаемо: их писали как контракт для своих, а на сайт они попали страницами разделов «Язык» и «Доказательства».

Связано: write-in-plain-language, checks-that-stopped-comparing