SVI преди 5 месеца
родител
ревизия
e1e33f23c0
променени са 2 файла, в които са добавени 151 реда и са изтрити 0 реда
  1. 1 0
      README.md
  2. 150 0
      docs/prolet-013.md

+ 1 - 0
README.md

@@ -17,6 +17,7 @@
 - [Диалектическая онтология типов](./docs/prolet-010.md)
 - [Диалектика становления](./docs/prolet-011.md)
 - [Диалектика изменяющего и трансформирующего действия](./docs/prolet-012.md)
+- [Присвоение результатов как диалектическое отражение времени](./docs/prolet-013.md)
 - Атомы языка
 - ВМ
 - Система типов

+ 150 - 0
docs/prolet-013.md

@@ -0,0 +1,150 @@
+# Присвоение результатов как диалектическое отражение времени
+
+В языке программирования **prolet**, присвоение основано на стреле времени и онтологической чёткости: присвоение — не операция в стиле `x = f()`, а процесс перехода от действия к сущему,
+зафиксированный как направленное преобразование во времени:
+
+`(выражение) -> фикс переменная`
+
+Это — не синтаксический курьёз.
+
+Это — онтологическая фиксация становления:
+
+- сначала — процесс,
+- потом — сущее.
+
+## ✅ Канонический пример
+
+```prolet
+(// Фиксированный результат, мутабельность определяется в сигнатуре вызова,
+по необходимости можно усилить требования, но не ослабить по Бертрану Мейеру)
+((ПолучитьДанные) -> данные)
+((ГруппироватьПо данные ключ) -> группа)
+((СуммироватьПо данные группа) -> результат)
+```
+
+Разберём досконально.
+
+### 🧩 Семантическая структура присвоения
+
+Форма:
+
+```prolet
+((выражение) -> имя)
+```
+
+или
+
+```prolet
+(// Если возвращает @мут -- можно усилить требования, но не ослабить)
+((Выражение) -> @фикс имя)
+```
+
+#### Внешние скобки — единое выражение присвоения
+
+```prolet
+( ... )
+```
+
+✅ Всё — одно выражение, отражающее процесс становления.
+
+#### Внутреннее выражение — действие, порождающее сущее
+
+```prolet
+(ПолучитьДанные)
+```
+
+Это — вызов, процесс, действие во времени.
+
+Он ещё не сущее, но источник сущего.
+
+#### -> — стрелка времени
+
+Указывает направление:
+
+- от процесса к результату,
+- от возможного к сущему.
+
+✅ Допустима, потому что:
+
+- однозначна,
+- отражает направленность времени,
+- не перегружена смыслами.
+
+### фикс / мут — онтологический статус переменной
+
+- `@фикс Переменная` — сущее, неизменяемое после присвоения; Аналог "закреплённого факта"
+- `@мут Переменная` — сущее, допускающее последующие изменения; Аналог "рабочей величины"
+
+Это — _не тип_, а _статус существования во времени_.
+
+## имя — идентификатор сущего
+
+Пример: `данные`, `группа`, `результат`
+
+Имя — _не метка_ памяти, а обозначение _зафиксированного сущего_.
+
+## ✅ Полная семантика
+
+```prolet
+((ПолучитьДанные) -> @фикс данные)
+(// Результат процесса ПолучитьДанные становится сущим,
+именуется данные, и далее считается завершённым, неизменяемым фактом)
+
+((СуммироватьПо данные группа) -> результат)
+(// Результат процесса СуммироватьПо становится сущим,
+именуется результат, но может быть изменён в будущем)
+```
+
+## 📜 Онтологические правила присвоения в **prolet**
+
+- Присвоение — выражение в парных скобках
+- Форма: `((выражение) -> @фикс имя)` или `((выражение) -> имя)`
+- `@фикс` — создаёт неизменяемое сущее
+- `@мут` - — создаёт (повторяет из сигнатуры вызова) изменяемое сущее
+- `->` — стрелка времени, отражает переход от действия к сущему
+- Нет форм `:=`, `=`, `<-`, — только `->` как отражение реального потока времени в одну сторону
+- Нельзя использовать имя до его присвоения
+- `@фикс` нельзя переопределять;
+- `@мут` — можно, если сигнатура вызова определяет мутабельность результата
+
+## 🔄 Пример: полный процесс
+
+```prolet
+(прц ОбработатьДанные () -> @фикс Результат.Ок
+    ((ПолучитьДанные) -> @фикс данные)
+    (если (ПроверитьПусто данные)
+        тогда (вернуть Результат.Ошибка "нет_данных"))
+
+    ((ГруппироватьПо данные ключ) -> @фикс группа)
+    ((СуммироватьПо группа) -> результат)
+
+    ((ДобавитьМетаданные результат) -> результат)
+
+    (вернуть Результат.Ок результат)
+)
+```
+
+- ✅ Каждое присвоение — этап фиксации сущего.
+- ✅ `@фикс` — для завершённых фактов.
+- ✅ `@мут` — для рабочих величин, допускающих развитие.
+
+## 💡 Философское обоснование
+
+Язык **prolet** следует диалектическому материализму:
+
+- Сущее не дано сразу — оно становится через процесс.
+- Присвоение — не копирование, а онтологическое рождение.
+- Стрелка `->` — не оператор, а символ времени, отражающий:
+  - «сначала было действие,
+  - потом — результат,
+  - потом — имя».
+
+💬 «Как пролетариат не становится классом сам по себе, а только в ходе развития классовых противоречий, через осознание себя общественной силой, так и значение не становится сущим без фиксации».
+
+## 🏁 Заключение
+
+Язык установил онтологически чистую форму присвоения:
+
+`((действие) -> @фикс имя)` — это не присваивание, это — акт фиксации сущего во времени.
+
+Нет места для `x = f()`. Есть только `((f) -> фикс x )` — как протокол становления.