Карта конструкций языка
Каждое слово языка — узел. Сплошная стрелка значит «внутри первого пишется второе». Пунктирная значит «первое даёт второе» или «первое ссылается на второе». Какую конструкцию брать под какое действие — на странице Какую конструкцию когда брать.
Как читать
| Узел | Что значит |
|---|---|
| прямоугольник с заливкой | понятие словаря языка; на карте стоит ровно один раз |
| скруглённый прямоугольник | конструкция, которой в словаре нет |
| овал с пометкой «слой N» | ссылка на понятие, нарисованное в слое N |
| овал без пометки | подпись: что подаётся на вход или получается на выходе |
Сверка со словарём
В словаре 150 понятий. На карте понятий словаря 156, каждое по одному разу; расхождения нет. Сверх словаря на карте 22 узла: это конструкции, которые есть в спецификации, а в словаре их нет. Слоёв 17.
Снято 27 сентября 2026 на двоичном 0.7.22. Понятия словаря сосчитаны командой ниже. Узлы карты сосчитаны по тексту схем этой страницы: у понятия словаря номер узла равен номеру его строки в словаре.
grep -c '^| `' docs/glossary.md
| Слой | Что в нём | Понятий словаря | Узлов сверх словаря |
|---|---|---|---|
| 1 | Файл и объявления | 14 | 0 |
| 2 | Свои типы: сумма и запись | 7 | 0 |
| 3 | Готовые типы и значения | 12 | 6 |
| 4 | Функция | 11 | 0 |
| 5 | Тело: разбор | 6 | 0 |
| 6 | Тело: если, свёртка, пусть | 5 | 0 |
| 7 | Вызов и связки | 8 | 0 |
| 8 | Арифметика, сравнения, логика | 15 | 0 |
| 9 | Формы над списком | 8 | 0 |
| 10 | Формы над строкой | 14 | 0 |
| 11 | Доказательства | 12 | 0 |
| 12 | Планы и поручения | 3 | 12 |
| 13 | Процессы и надзор | 5 | 4 |
| 14 | Категория и морфизмы | 13 | 0 |
| 15 | Функторы | 7 | 0 |
| 16 | Моноид и монада | 10 | 0 |
| 17 | Наследие прежней поверхности | 6 | 0 |
| всего | 156 | 22 |
Узлы сверх словаря, поимённо:
| Слой | Узлы | Откуда взяты |
|---|---|---|
| 3 | неотрицательное (оно же нат), целое, вес (оно же стоимость), сотых, тысячных, тип функции | спецификация, раздел «Типы» |
| 12 | суммы «Продолжение» с четырьмя вариантами, «Отклик», шесть групп поручений | спецификация, раздел «Ввод-вывод» |
| 13 | сумма «Действие», три стратегии надзора | контракт процессов |
1. Файл и объявления
Понятий словаря на схеме: 14. Узлов сверх словаря: 0. Ссылок и подписей: 1.
2. Свои типы: сумма и запись
Понятий словаря на схеме: 7. Узлов сверх словаря: 0. Ссылок и подписей: 6.
3. Готовые типы и значения
Понятий словаря на схеме: 12. Узлов сверх словаря: 6. Ссылок и подписей: 1.
Типы неотрицательное, целое, вес, сотых, тысячных и запись типа функции в словарь не входят: словарь печатается из таблицы слов, а эти имена разбираются в позиции типа. На схеме они стоят узлами сверх словаря.
4. Функция
Понятий словаря на схеме: 11. Узлов сверх словаря: 0. Ссылок и подписей: 2.
5. Тело: разбор
Понятий словаря на схеме: 6. Узлов сверх словаря: 0. Ссылок и подписей: 3.
Индукция в доказательстве цепляется к этой форме. Образцов пять: вариант суммы, пусто, голова и хвост, любое и связывание поля словом как.
6. Тело: если, свёртка, пусть
Понятий словаря на схеме: 5. Узлов сверх словаря: 0. Ссылок и подписей: 4.
7. Вызов и связки
Понятий словаря на схеме: 8. Узлов сверх словаря: 0. Ссылок и подписей: 7.
8. Арифметика, сравнения, логика
Понятий словаря на схеме: 15. Узлов сверх словаря: 0. Ссылок и подписей: 6.
9. Формы над списком
Понятий словаря на схеме: 8. Узлов сверх словаря: 0. Ссылок и подписей: 5.
10. Формы над строкой
Понятий словаря на схеме: 14. Узлов сверх словаря: 0. Ссылок и подписей: 9.
11. Доказательства
Понятий словаря на схеме: 12. Узлов сверх словаря: 0. Ссылок и подписей: 10.
12. Планы и поручения
Понятий словаря на схеме: 3. Узлов сверх словаря: 12. Ссылок и подписей: 4.
Имена в ёлочках — словарь ввода-вывода: три суммы, которые компилятор приписывает программе с планом. В словарь языка они не входят. Числа видов сняты 27 сентября 2026 с flang/self/parser.flang, функции «Варианты поручения», «Варианты отклика», «Варианты продолжения».
13. Процессы и надзор
Понятий словаря на схеме: 5. Узлов сверх словаря: 4. Ссылок и подписей: 9.
flang check на программе с процессами отвечает кодом 2: разбор, типы, завершаемость и примеры проходят, а правила самих объявлений двоичный компилятор не судит и говорит об этом словами.
14. Категория и морфизмы
Понятий словаря на схеме: 13. Узлов сверх словаря: 0. Ссылок и подписей: 3.
Программа с этими объявлениями тоже получает от flang check код 2, по той же причине.
15. Функторы
Понятий словаря на схеме: 7. Узлов сверх словаря: 0. Ссылок и подписей: 0.
16. Моноид и монада
Понятий словаря на схеме: 10. Узлов сверх словаря: 0. Ссылок и подписей: 2.
17. Наследие прежней поверхности
Понятий словаря на схеме: 6. Узлов сверх словаря: 0. Ссылок и подписей: 1.
Эти слова разбираются, но программу из них сегодня не составить. В новом коде их не пишут.
Дальше
- Какую конструкцию когда брать — выбор по действию и примеры
- Справочник конструкций — форма записи каждой конструкции
- Словарь языка — все слова на четырёх поверхностях