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

Словарь языка

Все слова flang: слово, четыре поверхности записи, что делает и куда ведёт. Страница печатается из таблицы поверхностей — той единственной, по которой разбирается любой файл на flang. Руками её не правят: правку затрёт следующая сборка, а проверка свежести не даст странице молча разойтись с таблицей.

Понятий в таблице — 150. На всех четырёх поверхностях открыто 133 (88.7 %). На трёх — 6, на двух — 10, на одной — 1. Пустая клетка значит, что слова на этой поверхности нет, и это решение, а не пропуск: придуманное слово хуже отсутствующего. Чем именно дырява таблица — на странице Четыре поверхности.

Документ и модульность

Ведёт: Спецификация языка.

русскаяанглийскаяэсперантокитайскаяЧто делает
модульmodule模块открывает файл и даёт ему имя
экспортируетexportseksportas导出перечисляет имена, видные снаружи модуля
используетusesuzas使用подключает другой модуль
категорияcategorykategorio类别объявляет категорию: объекты и морфизмы между ними
объект, структураobject, structureobjekto, strukturo对象, 结构объявляет объект категории — запись с полями
записьrecordrikordo记录объявляет запись: набор именованных полей
типtypetipo类型объявляет тип
вариантvariantvarianto变体объявляет вариант размеченного объединения
этосвязывает имя с типом («список чисел» это …)
вложен объект, вложена структураnested object, nested structure嵌套对象, 嵌套结构объявляет объект, вложенный в другой объект

Функции

Ведёт: Спецификация языка.

русскаяанглийскаяэсперантокитайскаяЧто делает
код символаcharacter codekodo de signo字符码кодовая точка символа → число
символ по кодуcharacter by codesigno per kodo按码字符кодовая точка числом → строка из одного символа
убываетdecreasesобъявляет меру, по которой доказывается завершаемость
тотальнаяtotaltotala完全признак функции: завершается на всех входах, и это доказано
функцияfunctionfunkcio函数объявляет функцию
принимаетacceptsakceptas接受перечисляет параметры и их типы
возвращаетreturnsredonas返回называет тип результата
примерexampleekzemplo示例открывает пример — исполняемый тест внутри объявления
даноgivendonite给定задаёт значение параметра в примере
ожидаетсяexpectedatendata期望задаёт ожидаемый результат примера

Выражения

Ведёт: Спецификация языка.

русскаяанглийскаяэсперантокитайскаяЧто делает
пустьletestuвводит локальное имя
еслиifse如果открывает условие
тоthentiam那么ветвь, когда условие верно
иначеelsealie否则ветвь, когда условие ложно
разборmatchkongruo匹配разбор значения по вариантам
случайcasekazo情况ветвь разбора
отofdeприменяет функцию к аргументам
иandkajразделяет аргументы, поля, элементы списка
и притомand alsokaj ankaŭ并且конъюнкция — логическое «и» инфиксной записью
илиor或者дизъюнкция
неnotотрицание
сwithkun带有присоединяет уточнение к форме
изfromelисточник: откуда берут
толькоonlynurограничивает выбор
в, кto, into, in, ontoalцель: куда кладут или во что переводят
поbyperуказывает признак, по которому идёт действие
уatĉeуказывает место или позицию
какaskiel作为даёт имя связке в свёртке
гдеwherekie其中уточняет условие
начиная сstarting withkomencante per起始于начальное значение свёртки

Встроенные формы

Ведёт: Спецификация языка.

русскаяанглийскаяэсперантокитайскаяЧто делает
отобразитьmapmapi映射применяет функцию к каждому элементу списка
отфильтроватьfilterfiltri过滤оставляет элементы, прошедшие условие
свёртка, сверткаfoldfaldo折叠свёртка списка с накопителем
длинаlengthlongo长度длина списка или строки
символcharsigno字符символ строки по позиции
разложитьdecomposemalkomponi分解разбирает значение на части
на символыinto charactersen signojn为字符уточнение к «разложить»: на символы
подстрокаsubstringsubĉeno子串кусок строки
соединитьjoinkunigi连接склеивает список строк
разделитьsplitdividi分割делит строку на список
содержитcontainsenhavas包含вхождение подстроки или элемента
начинается сbegins withkomenciĝas per开始于проверка начала строки
к числу или бедаto number or failureal nombro aŭ fiasko转数字或失败строка → число либо честный отказ
к числуto numberal nombro转数字строка → число
к строкеto textal teksto转文本значение → строка
головаheadkapoпервый элемент списка
хвостtailvostoсписок без первого элемента
элементitemero元素элемент списка по номеру
голова и хвостhead and tailkapo kaj vosto头和尾разбор списка на голову и хвост
пустоemptymalplenaпустое значение
пустой списокempty listmalplena listo空列表пустой список
список изlist oflisto de列表由тип: список из элементов названного типа
списокlistlisto列表тип «список»
добавитьaddaldoni添加добавляет элемент к списку
приписатьprependantaŭmeti前置приписывает элемент в начало списка
любоеanyajna任意тип-заглушка: любое значение

Арифметика и сравнения

Ведёт: Спецификация языка.

русскаяанглийскаяэсперантокитайскаяЧто делает
плюсplusplusсложение
минусminusminusвычитание
умножить наtimes, multiplied byfojoj乘以умножение
делить наdivided bydividite per除以деление
остаток отmoduloresto de取余остаток от деления
процентов, процента, процентpercent, percentsprocentoj, procentoпроцент от числа
равен, равна, равно, равным, равной, равноеequals, equal toegalas等于равенство
не равен, не равна, не равноis not equal to, not equalsne egalas不等于неравенство
большеis greater than, greater thanpli granda ol大于строго больше
меньшеis less than, less thanpli malgranda ol小于строго меньше
не большеis at most, at mostne pli granda ol不大于не больше
не меньшеis at least, at leastne pli malgranda ol不小于не меньше

Значения и типы

Ведёт: Спецификация языка.

русскаяанглийскаяэсперантокитайскаяЧто делает
даtrue, yesvera, jesлитерал истины
нетfalse, nomalvera, neлитерал лжи
ничтоnullnenioлитерал пустоты
число, числа, числом, числуnumbernombro数字тип «число»
строка, строки, строкой, строку, текстомstringteksto字符串тип «строка»
признак, признака, признакомboolean, flagbulea布尔тип «признак» — истина или ложь
деньги, деньгамиmoneymono金额тип «деньги» — точная дробь
дата, даты, дату, датойdatedato日期тип «дата»
состояние, состояниемstatestato状态объявляет состояние процесса
являетсяisestasутверждает принадлежность типу
иногда являетсяmay bepovas esti可能是утверждает возможную принадлежность типу

Наследие прежней поверхности

Ведёт: Категории и функторы.

русскаяанглийскаяэсперантокитайскаяЧто делает
утилитаutilityutilaĵo工具объявляет исполняемую утилиту
правилоruleregulo规则объявляет правило утилиты
свойствоpropertypropraĵo属性свойство в правиле
результатresultrezulto结果результат правила
начинает сstarts withkomencas per始于начальное значение правила
поле, поляfieldkampo字段поле записи
морфизмmorphismmorfismo态射объявляет морфизм между объектами категории
послеafterpost之后композиция морфизмов: один после другого
цепочкаchainĉenoцепочка морфизмов
сначалаfirstunue首先первый шаг цепочки
затемnextposte然后следующий шаг цепочки
единицаidentityidenteco恒等единичный морфизм
даётgivesdonas给出результат шага
законlawleĝo定律объявляет закон — проверяемое тождество
изоморфизмisomorphismizomorfio同构объявляет изоморфизм: пара взаимно обратных морфизмов
прямой морфизмforward morphismrekta morfismo正向态射прямая половина изоморфизма
обратный морфизмinverse morphisminversa morfismo逆态射обратная половина изоморфизма
вложениеembedding嵌入вложение одного объекта в другой
пересечениеintersectionkomunaĵo交集пересечение объектов
моноидmonoidmonoido幺半群объявляет моноид: носитель, операция, единица
носительcarrierportanto载体носитель моноида
операцияoperationoperacio运算операция моноида
обратный элементinverse elementinversa elemento逆元обратный элемент группы
монадаmonadmonado单子объявляет монаду
возвратreturnredono单位единица монады: значение → монада
соединениеflattenplatigo压平соединение монады: монада монады → монада
в монадеin monaden monado在单子中вычисление внутри монады
теоремаtheoremteoremo定理объявляет теорему
функтор, функтораfunctorfunktoro函子объявляет функтор между категориями
бифункторbifunctorbifunktoro双函子объявляет бифунктор — функтор от двух аргументов
объектыobjectsobjektoj对象对пара объектов бифунктора
морфизмыmorphismsmorfismoj态射对пара морфизмов бифунктора
утверждениеpropositionpropozicio命题объявляет утверждение о поведении
имеетhashavas具有утверждает наличие поля или свойства
в данныхin dataen datumoj在数据中уточняет, что поиск идёт в данных
найти гдеfind wheretrovi kie查找其中поиск по условию
по морфизму, затем по морфизму, применить морфизм, затем применить морфизмby morphism, then by morphism, apply morphism, then apply morphismper morfismo, poste per morfismo按态射, 然后按态射указывает морфизм, по которому идёт действие
следовательно, получаемthereforesekve因此вывод шага доказательства
по законуunder lawlaŭ leĝo依定律ссылается на закон в доказательстве
отображается в, отображаются вmaps to, map tomapiĝas al映射到образ объекта под функтором
отображается в полеmaps to fieldmapiĝas al kampo映射到字段образ поля под функтором
отображается в морфизм, отображаются в морфизмmaps to morphism, map to morphismmapiĝas al morfismo映射到态射образ морфизма под функтором
требуетrequiresпредусловие функции
обеспечиваетensuresпостусловие функции — то, что доказывает ядро
для всехfor allквантор всеобщности в утверждении
утверждаемclaimоткрывает доказываемое утверждение
индукция поinduction onдоказательство индукцией по названному носителю
по свойствуby propertyшаг доказательства: по свойству
по примеруby exampleшаг доказательства: по примеру
по предположениюby hypothesisшаг доказательства: по предположению индукции
следовательно доказаноtherefore provedзакрывает доказательство
процессprocessprocezo进程объявляет процесс
обрабатываетhandlestraktas处理обработчик сообщения процесса
с запасомwith budgetkun buĝeto带预算запас шагов процесса
с ящикомwith mailboxkun leterkesto带信箱размер ящика сообщений
надзорsupervision监督объявляет надзор над процессами
стратегияstrategystrategio策略стратегия перезапуска при отказе
порог отказовfailure thresholdsojlo de fiaskoj失败阈值порог отказов, после которого надзор сдаётся
прогонrunrulo运行объявляет прогон
семяseedsemo种子семя генератора случайных значений
планplanplano计划объявляет план — последовательность шагов

Собрано из таблицы поверхностей печатью, а не набрано руками: слово, добавленное в таблицу и не попавшее сюда, роняет сборку. Что проверка свежести умеет краснеть, проверено отдельно — ей подкладывают лишнее понятие и испорченную страницу и требуют отказа в обоих случаях. Чем таблица дырява и почему пустая клетка — решение, а не пропуск: Четыре поверхности записи.