Pārlūkot izejas kodu

SVI Доработка документации

SVI 4 mēneši atpakaļ
vecāks
revīzija
41350ec3c4

+ 2 - 2
docs/docs/00_20.md

@@ -21,7 +21,7 @@
 
 Пример:
 
-- `@мут` (изменяемость) ↔ `@фикс` (неизменность)
+- `@изм` (изменяемость) ↔ `@фикс` (неизменность)
 - `Процесс` (практика) ↔ `Функция` (форма)
 
 → их единство и борьба и рождает новый уровень — `нуклон` (практический тип), `атом`(практическая структура).
@@ -80,7 +80,7 @@
 
 Он говорит:
 
-> «Ну и что, что `@мут` внутри `@фикс`? Пусть будет — удобно».
+> «Ну и что, что `@изм` внутри `@фикс`? Пусть будет — удобно».
 
 ### Субъективизм
 

+ 2 - 2
docs/docs/01_30.md

@@ -33,7 +33,7 @@
 Пример:
 
 ```prolet
-(прц ОбработатьДанные (СписокБайт данные @мут) СписокБайт (
+(прц ОбработатьДанные (СписокБайт данные @изм) СписокБайт (
     (// высокоуровневая композиция)
     (ФильтроватьДанные х по данные
             (Сравнить х > 10)
@@ -103,7 +103,7 @@
 ( // Процессы могут, но не обязаны иметь побочные эффекты)
 (прц ЗначПоАдр @система
         @обоснование "взаимодействие с драйвером"
-        (Адр адр @мут) Адр (
+        (Адр адр @изм) Адр (
     (ЗначИз адр)
     (вернуть рез)
     )

+ 2 - 2
docs/docs/01_40.md

@@ -54,7 +54,7 @@
 Вариант 1: Явный блок низкоуровневый с контекстным предупреждением
 
 ```prolet
-(прц ОбработатьДанные (Список.Байт вход @мут) Список.Байт (
+(прц ОбработатьДанные (Список.Байт вход @изм) Список.Байт (
     (// Высокий уровень — чисто, безопасно)
     (ФильтрПо вход
         (x > 10)
@@ -92,7 +92,7 @@
 
 ```prolet
 (модуль БезопаснаяОбработка (
-    (прц Фильтровать(ДанныеПоток данные @мут ) ДанныеПоток (
+    (прц Фильтровать(ДанныеПоток данные @изм ) ДанныеПоток (
         если (Сравнить данные @длина > 10)
         тогда (ДобСписок данные))
     )

+ 1 - 1
docs/docs/01_50.md

@@ -223,7 +223,7 @@
 
 ```prolet
 (// Высокий уровень — по умолчанию)
-(прц Обработать(Список.Байт данные @мут) СписокБайт(
+(прц Обработать(Список.Байт данные @изм) СписокБайт(
     (Фильтровать данные
         (> 10)
         (* 2))

+ 2 - 2
docs/docs/01_60.md

@@ -86,7 +86,7 @@
 (спец ИФайл
     (Читать (ФайлИмя имя) РезБайты
       @_док "Читает файл с указанным именем")
-    (Писать (ФайлИмя имя Ос.Права права ) ОптОш @мут
+    (Писать (ФайлИмя имя Ос.Права права ) ОптОш @изм
         @_док "Записывает файл с указанным именем и правами")
 )
 ```
@@ -161,7 +161,7 @@
 ```prolet
 (прц @система КопироватьПамять (
       СисАдр цель
-      СисАдр источник @мут
+      СисАдр источник @изм
       СисКолич длина)(
   (кварк (сохр рег3 длина))
     (кварк (ЦиклОт рег0 до рег2

+ 3 - 3
docs/docs/01_80.md

@@ -108,7 +108,7 @@
 | Типы — первичны             | Типы — отсутствуют или скрыты |
 | Данные — структурированы    | Данные — байтовый поток       |
 | Порядок — внутренний        | Хаос — норма                  |
-| @конст, @фикс, @мут — везде | Никаких категорий             |
+| @конст, @фикс, @изм — везде | Никаких категорий             |
 
 `@вход` — это не свойство, это — онтологическая граница, где байт становится сущим, а хаос — формой порядка.
 
@@ -157,7 +157,7 @@
 )
 ```
 
-Приведение с проверкой `(ТипКонверт х к Пользователь)(уст х @мут)` падает, если не подходит.
+Приведение с проверкой `(ТипКонверт х к Пользователь)(уст х @изм)` падает, если не подходит.
 
 ### Функциональный стиль
 
@@ -287,7 +287,7 @@
 (ЕслиНечто нечто как АнализДанных)
     тогда (
     (Привести нечто в АнализДанных)
-    (уст отчёт @мут)
+    (уст отчёт @изм)
         (ОтправитьОтчёт отчёт))
     иначе (ПечататьОшибку "некорректные данные"))
 

+ 1 - 1
docs/docs/01_90.md

@@ -155,7 +155,7 @@ let s: Option<String> = None;
 В `prolet` нельзя написать:
 
 ```lisp
-(Пусто)(уст дыра @мут) (// ОШИБКА: "ничего" не есть)
+(Пусто)(уст дыра @изм) (// ОШИБКА: "ничего" не есть)
 ```
 
 Потому *что ничего не есть*.

+ 1 - 1
docs/docs/02_10.md

@@ -230,7 +230,7 @@
     (ПолучФайл (ИмяФайла имя) Результат СписБайт)
         @_док "Читает файл с диска")
     (ЗаписатьФайл (ИмяФайла  имя
-				   СписБайт данные) Результат ЕслиОк @мут)
+				   СписБайт данные) Результат ЕслиОк @изм)
         @_док "Записывает файл на диск")
     (ЗакрытьХранилище)
 )

+ 5 - 5
docs/docs/02_30.md

@@ -52,8 +52,8 @@
 
 ```prolet
 (прц ОтправитьУведомление
-        (Пользователь пользователь @мут
-         Сообщение    сообщение ) Результат КодОшибки @мут(
+        (Пользователь пользователь @изм
+         Сообщение    сообщение ) Результат КодОшибки @изм(
     (если (ПроверитьАктивность пользователь)
         тогда ((ПодготовитьСообщение сообщение)
                 (ПолучитьПочту пользователь)
@@ -76,7 +76,7 @@
 - запись в журнал,
 - отправка.
 
-Зависит от времени и состояния системы. Параметры по умолчанию фиксированы, чтобы явно указать факт изменяемости, нужно передавать атрибут `@мут` .
+Зависит от времени и состояния системы. Параметры по умолчанию фиксированы, чтобы явно указать факт изменяемости, нужно передавать атрибут `@изм` .
 
 ```text
 💡 Процесс — *не функция*, а *практика социального взаимодействия*.
@@ -101,7 +101,7 @@
 - Нет побочных эффектов: не пишет, не отправляет, не изменяет;
 - Не зависит от времени, состояния, внешних условий;
 - Может быть вычислена в любой момент, *даже заранее*;
-- Поскольку все параметры неизменяемы — нет смысла  указывать *@мут*, в любом случае все параметры воспринимаются как фиксированные.
+- Поскольку все параметры неизменяемы — нет смысла  указывать *@изм*, в любом случае все параметры воспринимаются как фиксированные.
 
 ```text
 💡 Функция — чистое преобразование, заимствованное из логического дискурса, но вписанное в практику как инструмент.
@@ -123,7 +123,7 @@
 
 ```prolet
 (прц ОбновитьПрофиль (
-        Пользователь пользователь @мут
+        Пользователь пользователь @изм
         Имя имя_новое
         Фамилия фамилия_новая): Результат(
     (если (ПроверитьПрава пользователь)

+ 7 - 7
docs/docs/02_40.md

@@ -48,7 +48,7 @@
 Нельзя использовать то, чего ещё не было. Синтаксис запрещает ссылки на будущее.
 
 ```prolet
-(// Фиксированный результат, мутабельность определяется в
+(// Фиксированный результат, изменяемость определяется в
   сигнатуре вызова, по необходимости можно усилить требования,
   но не ослабить по Бертрану Мейеру)
 (ПолучитьДанные)(уст данные)
@@ -72,7 +72,7 @@
 или
 
 ```prolet
-(// Если возвращает @мут -- можно усилить требования,
+(// Если возвращает @изм -- можно усилить требования,
     но не ослабить)
 (Выражение)(уст имя @фикс)
 ```
@@ -111,7 +111,7 @@
 ### фикс / мут — онтологический статус переменной
 
 - `Переменная @фикс` — исторический факт, неизменяемый после присвоения
-- `Переменная @мут` — рабочая величина, допускающее последующие изменения
+- `Переменная @изм` — рабочая величина, допускающее последующие изменения
 
 > 💡 Это — *не тип*, а *статус существования во времени*.
 
@@ -136,14 +136,14 @@
 ## 📜 Онтологические правила присвоения в **prolet**
 
 - Присвоение — выражение в парных скобках
-- Форма: `(выражение)(уст имя @мут)` или `(выражение)(уст имя)` без изменяемости
+- Форма: `(выражение)(уст имя @изм)` или `(выражение)(уст имя)` без изменяемости
 - `@фикс` — создаёт факт
-- `@мут` — создаёт изменяемую величину
+- `@изм` — создаёт изменяемую величину
 - `уст` — стрела времени, отражает переход от действия к сущему
 - Нет форм `:=`, `=`, `<-`, `->` . Только `уст` как отражение реального потока времени в одну сторону
 - Нельзя использовать имя до его присвоения
 - `@фикс` нельзя переопределять;
-- `@мут` — можно, если сигнатура вызова определяет изменяемость результата.
+- `@изм` — можно, если сигнатура вызова определяет изменяемость результата.
 
 ## 🔄 Пример: полный процесс
 
@@ -165,7 +165,7 @@
 
 - ✅ Каждое присвоение — этап фиксации сущего.
 - ✅ `@фикс` — для завершённых фактов.
-- ✅ `@мут` — для рабочих величин, допускающих развитие.
+- ✅ `@изм` — для рабочих величин, допускающих развитие.
 
 ## 💡 Философское обоснование
 

+ 74 - 103
docs/docs/02_60.md

@@ -1,200 +1,171 @@
 # pro-015 Диалектика статических обобщённых типов
 
-Руководствуясь принципами диалектического материализма необходимо признать, что в реальном мире могут существовать только те типы, которые отражают эту реальность. Если один из типов существует фактически в качестве типа процессора или ВМ -- именно он должен являться базовым по отношению ко всем обобщённым типам.
+Руководствуясь принципами диалектического материализма необходимо признать, что в реальном мире могут существовать только те типы, которые отражают эту реальность. Если один из типов существует фактически в качестве типа процессора или ВМ -- именно он должен являться кварка по отношению ко всем обобщённым типам.
 
-В синтезированной **ВМ** `prolet` базовым типом выбрано знаковое целое, потому что оно наилучшим образом отражает задачи, стоящие перед разработчиком в составе коллектива в текущих условиях.
+В синтезированной **ВМ** `prolet` кварками выбраны несколько типов, потому что такой подход наилучшим образом отражает задачи, стоящие перед разработчиком в составе коллектива в текущих условиях.
 
 Таким образом провозглашён онтологический принцип:
 
-::: info
-`Целое` — форма, используемая в практике вычислительных процессов **ВМ**.
-
-:::
-
-Это — не компромисс, не инженерная хитрость в духе `ad hoc`, а логический шаг в построении онтологии **prolet**, где любой тип отображается в одном типе **ВМ** , а многообразие — из одного и реально существующего.
+> 💡 Кварк — форма, используемая в практике вычислительных процессов **ВМ**.
+Это — не компромисс, не инженерная хитрость в духе `ad hoc`, а логический шаг в построении онтологии **prolet**, где любой кварк отображается в одном типе **ВМ** , а многообразие кварков — из нескольких и реально существующих. Несколько видов кварков необходимы, потому что они отражают объективные формы материи в цифровой практике — и ни одну из них нельзя редуцировать к другой без потери смысла, эффективности или безопасности.
 
 Разберём это решение в свете диалектического материализма.
 
-## Зачем именно знаковое целое? Онтологическое обоснование
+## Зачем именно несколько видов кварков? Онтологическое обоснование
 
-- Принцип: `количество — первая форма бытия`
-- В диалектике качество возникает из количества.
-- Прежде чем различать "истина/ложь", "литера", "адрес" — мир различает "сколько?".
+- Принцип: `смысл — первая форма бытия`,
+- В диалектике смысл возникает из данности форм материи,
+- Прежде чем различать "сколько?" -- мир различает"истина/ложь", "литера", "адрес",
+- И только после этого -- чего сколько,
+- И мир не смешивает разные типы кварков.
 
-Целое — форма дискретного приближения в условиях цифровой вычислительной техники, способная отражать объективные состояния:
+Кварк — форма дискретного приближения в условиях цифровой вычислительной техники, но кварк не способен сам по себе отражать смыслы:
 
 - температура,
 - счёт,
 - индекс,
 - время,
-- ошибка (код),
-- адрес памяти (в относительной форме).
-
-Оно — не абстракция, а отражение закона измерения в природе.
-
-## Почему именно знаковое?
-
-Потому что реальный мир — не только "больше нуля". Разработчик определяет разные типы величин:
+- ошибка (код).
 
-- Температура может быть −273°C,
-- Баланс — отрицательным,
-- Ошибка — кодом `−1`.
+Кварк — не абстракция, а отражение закона бытия в природе.
 
-Беззнаковое — это усложнение выражения счёта в ВМ,  которое влечёт за собой  усложнение процедур счёта, а диалектика — основана на отрицании.
+## Почему именно несколько видов кварков?
 
-Знаковое целое — отражает  опыт практики, и потому — диалектически полно.
+Потому что реальный мир — через набор кварков отражает опыт практики, а не личные предпочтения автора языка. Таков мир по своей сути.
 
 ## Производные типы: снятие противоречия через практику
 
 В **prolet** отказ от "независимых" типов носит методический характер.
 
-Вместо куста чудесным образом возникающих базовых типов — все базовые типы порождаются от целого, но не механически, а через ограничение и интерпретацию.
+Вместо куста чудесным образом возникающих базовых типов — все кварки порождаются из отражения мира, но не механически, а через принцип полноты и достаточности практики.
 
 ### Булево
 
-форма, используемая в практике логических суждений, представлено целым (выбор из множества [0, не 0])
+Кварк, используемый в практике логических суждений, представлено bool (выбор из множества [true, false])
 
-### Литера
+### Строка
 
-форма, используемая в практике обозначения печатных символов. Целое (интерпретация Юникода, диапазон [0x00, 0x10FFFF])
+Кварк, используемый в практике обозначения печатных символов. Набор литер UTF-8.
 
-### Беззнаковое
+## Реализация в prolet: кварк как категории практики
 
-не свойство целого, а отражение социального требования:  
-„счётчик не может быть отрицательным“ `@диапазон (0, ЦелоеМакс)`
-
-Это — не упрощение, это — ограничение через свойства:
-
-- Простое (целое) — утверждается,
-- Сложное (булево, литера) — конкретизирует его,
-- Но затем — редуцируется само,
-- И возвращается как интерпретация целого в заданном контексте.
-
-## Реализация в prolet: типы как категории практики
-
-### Тип Целое 
+### Кварк Целое
 
 ```prolet
-(тип Яблоки : Целое)
+(нуклон Яблоки
+    @_кварк Целое
+    @_контракт (КонтрактЯблоки)(// В ящике от 0 до 500 яблок)
+)
 ```
 
-Целое не определяется через какой-то другой тип. В синтезированной ВМ `prolet` целое принимается в качестве базовой формы представления, поскольку она наилучшим образом отражает практику измерения и счёта в текущих условиях. Все допустимые операции — определены на нём напрямую.
+Кварк Целое не определяется через какой-то другой тип. В синтезированной **ВМ** `prolet` целое принимается в качестве базовой формы представления, поскольку она наилучшим образом отражает практику измерения и счёта в текущих условиях. Все допустимые операции — определены на нём напрямую.
 
 ### Булево как ограниченное целое
 
 ```prolet
-(тип Булево : Целое
-    @перечисл [Ложь, Истина]
-    @интерпретация (0 → Ложь, не 0 → Истина)
+(нуклон ЕслиДень
+    @_кварк  Бул
+)
 ```
 
 Использование:
 
 ```prolet
-((Бул 5) -> @фикс еслиВкл)( // значение  Истина)
-(если еслиВкл
-    тогда (Напечатать "ВКЛ"))
+(Яблоки 5) (уст ящикЯблоки @изм)(// значение  5)
+(если ящикЯблоки > 5
+    тогда (Напечатать "Ящик переполнен")
+    иначе (Напечатать "Ящик в пределах нормы")
+)
 ```
 
 При этом:
 
-- В памяти — просто не 0,
-- Но в контексте условия — интерпретируется как `Истина`.
+- В памяти — не просто 5, а сущност с контрактом,
+- Но в контексте условия — интерпретируется как `Яблоки`.
 
 ## Литера как целое с семантикой кода UTF-8
 
 ```prolet
 
-(тип Литера : Целое
-    @диапазон (0 0x10FFFF)
-    @интерпретация Юникод
-    @литералы ('a' .. 'я')
+(нуклон Имя
+    @_кварк Стр
+    @_контракт (КонтрактИмя) (// От 5 до 20 литер)
+)
 
-(Лит 'А')(уст литА)(// литера с кодом 1040)
+(Имя "Иван")(уст иван)(// нуклон Имя со значением "Иван")
 ```
 
-Литера — не "отдельный тип", а целое, наделённое смыслом с помощью ограничивающих свойств.
+Строка — не "отдельный тип", а форма практики.
 
 ### Беззнаковое — как контракт, а не тип
 
 ```prolet
 
-(тип Абс (// Абсолютное значение целого)
-	(// проверяется на этапе компиляции или рантайме)
-    @диапазон (0 ЦелМакс)
+(нуклон Абс (// Абсолютное значение целого)
+    (// проверяется на этапе компиляции или рантайме)
+    @_кварк Цел
+    @_контракт (БольшеНуля)(// Контракт на положительное значение)
 )
 ```
 
-Или — через валидатор:
+Контракт -- встроенная форма контроля на инвариант сущего.
 
-```prolet
-(фн Беззнаковый (Битность имя): Результат.Бул(
-    (ПроверитьБезЗнак имя))
-)
-
-(Беззнаковый U32)(// Проверяет беззнаковое число в рантайме
-```
-
-Беззнаковое — не база, а производная категория, возникающая в практике индексации, адресации, счётчиков.
+Беззнаковое — не кварк, а социальный контракт, возникающий в практике материи.
 
 ## Преимущества подхода
 
-- Минимализм онтологии
-- Один базовый тип — меньше путаницы, меньше ошибок
-- Единство представления
-- Все *атомарные* данные в **ВМ** представлены целыми, но их интерпретация определяется социальным контекстом через свойства
-- Безопасность через контекст
-- Ошибка "сложить символ и булево" — на уровне типов, при помощи  свойств
-- Развиваемость
+- Минимализм онтологии,
+- ОНесколько кварков — меньше путаницы, меньше ошибок.
+- Единство представления,
+- Все кварки в **ВМ** представлены своими типами, и их интерпретация определяется только самим кварками, что позволяет при необходимости добавлять другие кварки,
+- Безопасность через контекст кварка,
+- Ошибка "сложить строку и булево" — на уровне кварка невозможно,
+- Развиваемость.
 
-Новые типы — добавляются, но через вывод из целого как часть практики
+Новые кварки — добавляются, но через вывод из практики.
 
 ## Экономия мыслетоплива
 
-Программист не думает: "это `int` или `uint`?", а думает: "это счётчик, значит — неотрицательное"
+Программист не думает: "это `int` или `uint`?", а думает: "это счётчик, значит — неотрицательное". А контракт на нуклон даёт гарантии исполнения.
 
 ## Психологическая и педагогическая выгода
 
-- Новичок учит один тип — целое, а потом — как его интерпретировать.
-- Ошибки вроде `i = -1`; `for (i < n; ...)` — обнаруживаются по типу, и по нарушению контракта `(@диапазон (0 .. ∞)`.
-- Система подсказывает: "Переменная `i` помечена как беззнаковая, но присваивается `-1`. Это противоречит контракту."
+- Новичок учит шесть видов кварков, и какова их природа.
+- Ошибки вроде `i = -1`; `for (i < n; ...)` — контролируются на уровне нуклонов, у которых могут быть определены контракты.
 
 Это — не бюрократия, это — диалектическое воспитание сознания.
 
 ## Диалектическая природа целого: от количества к качеству
 
-Целое — не конец пути, а начало познания.
+Кварк — не конец пути, а начало познания.
 
 ### Количество
 
-`x = 42`
+`(Цел 43)(уст ц1)`
 
-### Простое накопление
+### Простой контроль
 
-Ограничение: `@x (0 .. 100)`
+Ограничение: `@_контракт (ЯщикКонтроль)`
 
 ### Единство и борьба (ограничение свободы ради смысла)
 
-- Интерпретация `x` как возраст, код ошибки, символ
-- Переход количества в качество
-- Синтез: `ЕслиНечто нечто как Пользователь`
-
-`Целое` становится частью сложного процесса
+- Интерпретация `x` может быть любой: как возраст, код ошибки, символ; социальный контракт не отменяет кварк,
+- Переход количества в качество, при создании новых видов нуклонов,
+- Синтез: ограниченное число кварков даёт весь спектр нуклонов и атомов.
 
-`Целое` — не "вещь", оно — форма движения материи в пространстве значений.
+Кварк становится частью социальных нуклонов, но не перестаёт быть частью процессов вычислений.
 
-## Заключение: целое как первооснова prolet
+Кварк — не "вещь", он — форма движения материи в пространстве социальных значений.
 
-Приведённое решение — не просто техническое, оно — философское, революционное, диалектически зрелое.
+## 🎯 Заключение: кварки как первооснова prolet
 
-::: success
-`Целое` — не универсальная сущность, а **материальное условие, принятое в синтезированной ВМ** `prolet` для отражения практики счёта, измерения и индексации.  
-Все прочие типы — не его «производные» в метафизическом смысле, а **формы его интерпретации в конкретных социальных контекстах**
+Приведённое решение — не просто техническое, оно — философское, новаторское, диалектически зрелое.
 
-:::
+> ✅ Кварк — не универсальная сущность, а **материальное условие, принятое в синтезированной ВМ** `prolet` для отражения практики всех информационных процессов.
+Все прочие нуклоны — не его «производные» в метафизическом смысле, а **формы его интерпретации в конкретных социальных контекстах**
 
-Все прочие типы — *не равноправны*,
+Все прочие нуклоны — *не равноправны*,
 
 - они — его отражённые формы,
 - его социальные ограничения,
-- его контексты для построения пространства смыслов.
+- его контексты для построения пространства смыслов.

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 1 - 1
docs/docs/02_70.md


+ 28 - 42
docs/docs/02_80.md

@@ -1,51 +1,42 @@
 # pro-017 Контексты вычислений
 
-Ранее контексты встречались в примерах кода **prolet:** макросы**,** функции, типажи и процессы. Теперь контексты будут обозначены явно, как тип вычислительных групп.
+Ранее контексты встречались в примерах кода **prolet**: **макросы**, **функции**, спецификации и процессы. Теперь контексты будут обозначены явно, как тип вычислительных групп.
 
-::: info
-В `prolet` больше нет «меток» или «аннотаций», висящих в воздухе.  
+> 💡 В `prolet` больше нет «меток» или «аннотаций», висящих в воздухе.
 Есть **контекст** — **материальная и логическая среда**, в которой возможны определённые **действия**.
 
-:::
+## Почему «контекст» — правильное понятие
 
----
-
-### Почему «контекст» — правильное понятие
-
-1. **Философски**  
-   Контекст — это **условие возможности действия**.  
-   Без контекста нет смысла, нет метода, нет преобразования.  
+1. **Философски**
+   Контекст — это **условие возможности действия**.
+   Без контекста нет смысла, нет метода, нет преобразования.
    Это **материалистическая категория**: действие невозможно вне условий его осуществления.
-2. **Практически**  
+2. **Практически**
    Когда программист пишет:
 
    ```prolet
    (Пользователь СтатусОбновить "онлайн")
    ```
 
-   — программист не просто «вызываете метод у типа», а **входит в контекст** `Пользователь`, где определены действия:
+   — программист не просто «применяет действие к атому», а **входит в контекст** `Пользователь`, где определены действия:
 
-   \- `СтатусОбновить`,
+   - `СтатусОбновить`,
+   - `Сохранить`,
+   - `Удалить` и т.д.
 
-   \- `Сохранить`,
-
-   \- `Удалить` и т.д.
-3.   
    Вне этого контекста — эти действия **недопустимы**.
-4. **Архитектурно**
-   - Компилятор может **ограничить доступные действия** строго по текущему контексту.
-   - IDE — показывать только валидные методы.
+3. **Архитектурно**
+   - Компилятор может **ограничить доступные действия** строго по текущему контексту,
+   - **IDE** — показывать только валидные методы,
    - Безопасность — запрещать вызовы, не принадлежащие контексту.
-5. **Отказ от идеализма «универсальных функций»**  
-   В `prolet` нет «голых функций», применимых везде.  
-   Есть **действия, привязанные к контексту** — как в реальном мире:  
-   - «писать» — в контексте «автор»,  
-   - «лечить» — в контексте «врач»,  
+4. **Отказ от идеализма «универсальных функций»**
+   В `prolet` нет «голых функций», применимых везде.
+   Есть **действия, привязанные к контексту** — как в реальном мире:
+   - «писать» — в контексте атома «автор»,
+   - «лечить» — в контексте атома «врач»,
    - «шифровать» — в контексте «Ключ» или «Сообщение».
 
----
-
-### Примеры
+## Примеры
 
 ```prolet
 (Сообщение Шифровать ключ)
@@ -56,7 +47,7 @@
 
 Здесь:
 
-- `Сообщение` — не тип, а **контекст, в котором возможно действие** `Шифровать`,
+- `Сообщение` — не атом, а **контекст, в котором возможно действие** `Шифровать`,
 - `Ключ` — **контекст, в котором можно** `Применить` что-то,
 - попытка написать `(Ключ Шифровать ...)` — **ошибка**, потому что действие `Шифровать` не принадлежит контексту `Ключ`.
 
@@ -71,26 +62,21 @@
 (Пользователь СтатусОбновить @рез "онлайн")
 ```
 
-— первое выражение даёт  `@рез`  типа `Пользователь`,  
-— второе выражение **входит в контекст** `Пользователь`,  
+— первое выражение даёт  `@рез` типа `Пользователь`,
+— второе выражение **входит в контекст** `Пользователь`,
 — и только в этом контексте разрешено действие `СтатусОбновить`.
 
 Это — **естественная цепочка: результат → контекст → действие**.
 
----
-
-### Вывод
+## Вывод
 
-В **prolet** не существует технократического «тег», есть **философски и практически насыщенное** понятие **«контекст»**.
+В **prolet** не существует технократического «тип», есть **философски и практически насыщенное** понятие **«контекст»**.
 
 `prolet` — это не язык с аннотациями, а **язык практики**, где:
 
-::: success
-**Каждое действие возможно только в своём контексте,**  
-**и контекст определяется материей, а не формой.**
-
-:::
+> 💡 Каждое действие возможно только в своём контексте,
+и контекст определяется материей, а не формой.
 
 Это соответствует духу диалектического материализма и делает язык **ориентированным не на объекты, а на условия их преобразования**.
 
-**prolet** поддерживает абстракции, но как  **инструмент** освобождает от абстрактного мышления, которое не происходит из практики.
+**prolet** поддерживает абстракции, но как **инструмент** освобождает от абстрактного мышления, которое не происходит из практики.

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels