Browse Source

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

SVI 1 month ago
parent
commit
1e55b6c4b4

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

@@ -24,7 +24,7 @@
 - `@изм` (изменяемость) ↔ `@фикс` (неизменность)
 - `Процесс` (практика) ↔ `Функция` (форма)
 
-→ их единство и борьба и рождает новый уровень — `нуклон` (практический тип), `атом`(практическая структура).
+→ их единство и борьба и рождает новый уровень — `протон` и `нейтрон` (практический тип), `атом`(практическая структура).
 
 ### Переход количества в качество
 

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

@@ -29,7 +29,7 @@
 Контекст — не синтаксическое украшение, он — руководящее начало, идеологический центр процесса.
 
 - `(фн ...)` -- контекст организация труда по преобразованию, труд через установление порядка;
-- `(атом ...)` -- контекст организации нуклонов, создание сложных форм материи;
+- `(атом ...)` -- контекст организации протонов и нейтронов, создание сложных форм материи;
 - `(если ...)` -- контекст поиска сущего в практике, реализация диалектики бытия;
 - `(... @система ...)` -- свойство, задающее условия существования предельно конкретной истины, ограничивает границы возможного конкретного предметного труда
 
@@ -116,7 +116,7 @@
 
 ### Все конструкции — процессы и функции
 
-Даже определение нуклона — не декларация, а процесс создания категории бытия.
+Даже определение протонов и нейтронов — не декларация, а процесс создания категории бытия.
 
 Даже комментарий — является процессом:
 
@@ -126,7 +126,7 @@
 
 В данном случае, комментарий -- это не физически выполняемый контекст, а контекст на этапе компиляции, который при оптимизированный сборке может быть полностью исключён после итоговой сборки программы.
 
-Также определение нуклонов, атомов и типажей -- это процессы на этапе компиляции, которые могут быть оптимизированы и исключены в финальной сборке.
+Также определение протонов и нейтронов, атомов и типажей -- это процессы на этапе компиляции, которые могут быть оптимизированы и исключены в финальной сборке.
 
 | Элемент | Этап компиляции | Этап выполнения | Влияние на бинарный файл |
 |---------|------------------|------------------|--------------------------|

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

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

+ 43 - 32
docs/docs/02_10.md

@@ -28,9 +28,9 @@
 
 В терминах `prolet` базовый тип называется кварк. Кварки встроены в `prolet` и являются инвариантами информационной материи. Кварки нельзя ни отменить, не переопределить.
 
-`пусто`, `бул`, `байт`, `целое`, `вещ`, `строка`
+`запрет`, `бул`, `байт`, `целое`, `вещ`, `строка`
 
-> 💡 Противоречие: кварки не отражают в полной мере структурную сложность мира. Возникает потребность в практических типах -- нуклонах. Нуклоны основаны на кварках.
+> 💡 Противоречие: кварки не отражают в полной мере структурную сложность мира. Возникает потребность в практических типах -- протонах и нейтронах, единственная возможность быть для которых -- быть основанными на кварках.
 
 `Яблоко` , `Груша` , `Час`, `СписокРабот`
 
@@ -38,12 +38,12 @@
 
 ### Снятие противоречия (синтез)
 
-Кварк, отношение, материя в движении. Универсальный тип, порождающий себя и служащий строительным материалом для порождения нуклонов.
+Кварк, отношение, материя в движении. Универсальный тип, порождающий себя и служащий строительным материалом для порождения протонов и нейтронов.
 
 Это — не эволюция, а революция в мышлении:
 
 - кварк перестаёт быть самостоятельной сущностью,
-- и становится нуклоном -- формой существования материи в информационной сфере.
+- и становится протоном или нейтроном -- формой существования материи в информационной сфере.
 
 > 💡 `целое` не просто как один из кварков, а как фундаментальный тип реальности.
 
@@ -92,7 +92,7 @@
 
 ### Нуклон — результат познания материи
 
-Чем глубже понимание — тем точнее свойства нуклона. Нуклон — это не только ответ на вопрос "что это", но и "почему", "каким образом", "зачем".
+Чем глубже понимание — тем точнее свойства нуклона. Нуклон — это не только ответ на вопрос "что это", но и "почему", "каким образом", "зачем", "каким именно способом".
 
 ## Путь от базового к универсальному: три стадии онтологического развития
 
@@ -105,7 +105,7 @@
 Нет `string` . Есть `Имя` , `Хэш` , `Запрос` , `Ответ` .
 
 ```prolet
-(нуклон Рубль или Рубля или Рублей (// синонимы типа)
+(протон Рубль или Рубля или Рублей (// синонимы типа)
   (// Абстракция на основе кварка)
   @_кварк    целое
 
@@ -116,11 +116,11 @@
   @_операции (слож выч))
 ```
 
-> 💡 Кварк не уничтожен, но воспроизведён на новом уровне — уровне нуклона как осмысленная категория с политиками общественных отношений.
+> 💡 Кварк не уничтожен, но воспроизведён на новом уровне — уровне протона/нейтрона как осмысленная категория с политиками общественных отношений.
 
 ### Онтологическое уточнение: атрибут `@_кварк целое`
 
-Атрибут `@_кварк` опирается на кварк `целое`, но по отношению к материалистичному миру является сущим *только в рамках физического дискурса*. Т.е. кварки не ограничиваются типом `целое`. Но этим типом ограничивает мир цифровой материи в своей основе. Кварк `целое` обобщается конкретным нуклоном с известными наложенными ограничениями (политиками).
+Атрибут `@_кварк` опирается на кварк `целое`, но по отношению к материалистичному миру является сущим *только в рамках физического дискурса*. Т.е. кварки не ограничиваются типом `целое`. Но этим типом ограничивает мир цифровой материи в своей основе. Кварк `целое` обобщается конкретным протоном с известными наложенными ограничениями (политиками).
 
 Это — *ключевое* уточнение, которое позволяет не отступать от диалектического материализма, но признать относительную самостоятельность цифрового, равно и математического мышления как *специфической формы отражения реальности*.
 
@@ -137,15 +137,25 @@
 
 Как язык отражает мир, так и аппаратура, так и физика — отражает количественные отношения, и эти отношения не существуют вне практики.
 
-## 📜 Принципы объявления нуклонов `prolet`
+## 📜 Принципы объявления протонов `prolet`
 
-- Нуклон — только материализованная форма сущего
-- `целое`,  `строка`,  `вещ`,  `бул`, `байт`, `пусто` — связанные кварки, получающие отражение на низком уровне в аппаратуру (реальность).
+- Протон — только материализованная форма сущего
+- `целое`,  `строка`,  `вещ`,  `бул`, `байт`, `запрет` — связанные кварки, получающие отражение на низком уровне в аппаратуру (реальность).
 - `@_кварк` — не наследование, а заимствование формы из дискурса физического аппарата
-- Нуклон всегда имеет социальный, экономический или технический контекст
-- Без атрибутов, отражающих практику — *нет нуклона*
-- Определение вида c использованием кварка `(нуклон целое ...)` — ошибка онтологии, запрещено
-- Нуклон может быть основан на любом кварке, но только одном кварке. Но атрибутов нуклона может быть по необходимости.
+- Протон всегда имеет социальный контекст состояния
+- Без атрибутов, отражающих практику — *нет протона*
+- Определение вида c использованием кварка `(протон Яблоки @_кварк целое ...)`,
+- Протон может быть основан на любом кварке (кроме кварка `запрет`), и только одном кварке. Но атрибутов протона может быть по необходимости.
+
+## 📜 Принципы объявления нейтронов `prolet`
+
+- Нейтрон — только материализованная форма сущего
+- `действие` — связанный кварк `Запрет`, получающие отражение на низком уровне в аппаратуру (реальность).
+- `@_кварк` — не наследование, а заимствование формы из дискурса физического аппарата
+- Нейтрон всегда имеет социальный контекст действия,
+- Без атрибутов, отражающих практику — *нет нейтрона*
+- Определение вида c использованием кварка `(нейтрон @_кварк запрет ...)` — без действия ошибка онтологии, запрещено,
+- Нейтрон может быть основан только кварке `запрет`, и только одном кварке. Но атрибутов нейтрона может быть по необходимости.
 
 ## Стадия 2: Сложное — как единство противоположностей
 
@@ -155,14 +165,14 @@
 
 (// любой нуклон построен на единственном кварке,
         но число атрибутов может быть любым)
-(нуклон Роль или Права
+(протон Роль или Права
     @_обязательно
     @_кварк Перечисление
     @_выбор_ (Админ Пользователь Гость)
     @значение Гость (// По умолчанию, можно менять)
     @_док "Роль пользователя в системе"
 
-(нуклон ПользовательНомер
+(протон ПользовательНомер
     @_обязательно
     @_кварк          Целое
     @_диапазон      (1 999_999_999)
@@ -170,7 +180,7 @@
     @_уникально
     @_док ( "идентификация пользователя в системе")
 
-(нуклон Имя или Название
+(протон Имя или Название
     @_кварк      Строка
     @_умолчание "Иван"
     @_док       "идентификация пользователя в системе")
@@ -190,16 +200,15 @@
 
 Атом, который содержит другой атом или нуклоны -- могут быть определены позже, но до момента начала семантического анализа.
 
-Прямая ссылка на кварк вне нуклона — запрещена.
+Прямая ссылка на кварк вне протона или нейтрона — запрещена.
 
 Все атрибуты в нуклоне, помечены префиксами:
 
 - `@_кварк` -- системный, нельзя изменить
-- `@значение` -- пользовательский, можно изменять.
 
 В приведённом синтаксисе объявления атома достигается единство формы и содержания:
 
-- Разделение "атрибут vs поле" — идеализм, ведущий к ложному противопоставлению "сущности" и "её атрибутов". В предлагаемом подходе всё является свойством. Кварк `целое` *должен* быть отражён на реально существующий носитель -- нуклон, который *неизбежно* приобретает дополнительные атрибуты (в том числе контракт, как социальная политика).
+- Разделение "атрибут vs поле" — идеализм, ведущий к ложному противопоставлению "сущности" и "её атрибутов". В предлагаемом подходе всё является свойством. Кварк `целое` *должен* быть отражён на реально существующий носитель -- протон, который *неизбежно* приобретает дополнительные атрибуты (в том числе контракт, как социальная политика).
 - В реальности — есть только объект с характеристиками: у человека — имя, возраст, роль, статус, история.
 - Нет "основных данных" и "метаданных" — есть все данные как единое сущее.
 
@@ -208,29 +217,29 @@
 |      АСПЕКТ       | ОБЪЯСНЕНИЕ                                                                                                                                                                                                                  |
 |:-----------------:|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 |     Онтология     | Нуклон — не шаблон, а форма сущего в практике. Если в практике номер всегда уникален и присваивается автоматически, то такое значение — часть его бытия, а не внешнее условие. Контекст не может переопределить его кварк. |
-|  Единство формы   | Если ПользовательНомер используется в 10 атомах — не нужно 10 раз писать `@уникально`. Нарушение — на уровне нуклона, а не контекста.                                                                                        |
+|  Единство формы   | Если ПользовательНомер используется в 10 атомах — не нужно 10 раз писать `@уникально`. Нарушение — на уровне протона или нейтрона, а не контекста.                                                                                        |
 |   Безопасность    | Система гарантирует уникальность и обязательность на уровне нуклона, а не доверяет нуклону.  "не забыть".                                                                                                                           |
 | Эволюция практики | Если правило изменится (например, номер перестанет быть авто-инкрементным), —  меняется один атрибут в нуклоне, а не в конкретном контексте.                                                                                  |
 
 ### Принципы проектирования в prolet
 
-- Нуклон несёт свои нормы: `@обязательно`, `@уникально`, `@авто-инкремент`, `@умолчание` — определяются в (нуклон ...)
+- Протон несёт свои нормы: `@обязательно`, `@уникально`, `@авто-инкремент`, `@умолчание` — определяются в (протон ...)
 - Атом — композиция нуклонов, а не конфигурация: она не задаёт правила, а использует уже заданные
 - Свойства в атоме — только контекстные: например, `@источник`, `@момент`, `@ответственный`, но не свойства кварков
 - Повторное указание свойств типа в атоме — избыточно и запрещено, но не запрещены свойства самого свойства (свойство атома рассматривается как нуклон на своём уровне)
-- Нуклон — со всеми своими атрибутами, законченная форма сущего, пригодная к использованию в любом атоме
+- Нуклон — со всеми своими атрибутами, законченная форма сущего, пригодная к использованию в любом атоме.
 
 ## Форма 3: спецификация — тип как отношение
 
 ```prolet
 (спец Хранилище
     @_док "Абстракция работы с хранилищем"
-	(Нов (ХранилищеИмя имя) Результат Хранилище)
-		@_док "Создаёт новое именованное хранилище"
+    (Нов (ХранилищеИмя имя) Результат Хранилище)
+        @_док "Создаёт новое именованное хранилище"
     (ПолучФайл (ИмяФайла имя) Результат СписБайт)
         @_док "Читает файл с диска")
     (ЗаписатьФайл (ИмяФайла  имя
-				   СписБайт данные) Результат ЕслиОк @изм)
+                    СпиСписБайт данные) Результат ЕслиОк @изм)
         @_док "Записывает файл на диск")
     (ЗакрытьХранилище)
 )
@@ -246,7 +255,7 @@
 - Параметры: `(%Тип %имя %Тип %данные)` — именованные, ссылаются на нуклоны и атомы
 - Возврат: (%Результат %Тип) — атом, отражающий результат практики
 - Возвращаемый результат может отсутствовать
-- Все нуклоны и атомы в спецификации — практические, кварки запрещены, определённые через (нуклон, атом, ...)
+- Все нуклоны и атомы в спецификации — практические, кварки запрещены, определённые через (протон, нейтрон, атом, ...)
 - @_док и др. свойства — не обязательны для каждого метода и спецификации, но можно потребовать обязательность на уровне проекта или конкретного действия
 - Спецификация не содержит реализации — только действия с параметрами и возвращаемые значения
 
@@ -265,9 +274,12 @@ end
 subgraph prolet
     direction TB
     Спецификации --> Атомы
-    Спецификации --> Нуклоны
-    Атомы --> Нуклоны
-    Нуклоны --> Кварки
+    Спецификации --> Протоны
+    Спецификация -> Нейтроны
+    Атомы --> Протоны
+    Атомы --> Нейтроны
+    Протоны --> Кварки
+    Нейтроны --> Кварки
 end
 
 subgraph СинтезАппарат
@@ -278,7 +290,6 @@ end
 
 Практика --> prolet
 prolet --> СинтезАппарат
-
 ```
 
 ## Практические гарантии онтологии

+ 17 - 16
docs/docs/02_20.md

@@ -5,29 +5,30 @@
 ```mermaid
 flowchart LR
 subgraph Практика
-	direction TB
-	Субъект --> Цели
-	Цели --> Задачи
-	Задачи --> Требования
+    direction TB
+    Субъект --> Цели
+    Цели --> Задачи
+    Задачи --> Требования
 end
 subgraph prolet
-	direction TB
-	Спецификация --> Атомы
-	Спецификация --> Нуклоны
-	Атомы --> Нуклоны
-	Нуклоны --> Кварки
+    direction TB
+    Спецификации --> Атомы
+    Спецификации --> Протоны
+    Спецификация -> Нейтроны
+    Атомы --> Протоны
+    Атомы --> Нейтроны
+    Протоны --> Кварки
+    Нейтроны --> Кварки
 end
 
 subgraph СинтезАппарат
-	direction TB
-	АппаратныйТип1
-	АппаратныйТип2
+    direction TB
+    АппаратныйТип1
+    АппаратныйТип2
 end
 
 Практика --> prolet
-prolet --> СинтезАппарат
-
-```
+prolet 
 
 В данном случае отображается не иерархия типов, а онтологический процесс становления, в соответствии с законами диалектического материализма:
 
@@ -98,7 +99,7 @@ prolet --> СинтезАппарат
 
 ### Кварки (сущее, основа конкретного)
 
-**Что:** `Целое`, `Строка`, `Бул`, `Срез`, `Пусто` — отражение основ цифровой материи, отражение аппаратных типов.
+**Что:** `Целое`, `Строка`, `Бул`, `Срез`, `Запрет` — отражение основ цифровой материи, отражение аппаратных типов.
 
 **Статус:** отражение аппаратных типов в виде одной формы, носитель для нуклонов.
 

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

@@ -150,7 +150,7 @@
 ```prolet
 (прц ОбработатьДанные () РезультатОк @фикс(
     (ПолучитьДанные)(уст данные @фикс)
-    (если (ПроверитьПусто данные)
+    (если (ПроверитьЗапрет данные)
         тогда (вернуть РезультатОшибка "нет_данных"))
 
     (ГруппироватьПо данные ключ)(уст группа @фикс)

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

@@ -185,7 +185,7 @@
   (Цел 0)(уст ц1)(// В память отправить имя ц1)
   (Цел 1)(уст рез) (// В результат константу)
   (Цел копия рез ц1)(// Из результат -- значение ц1)
-  ()(// Установить результат в специальный кварк "пусто")
+  ()(// Установить результат в специальный кварк "Запрет")
   (уст ц1)(// С отсутствующим результатом попытка привязки имени -- будет авария)
   (Цел слож ц1 ц1)(рез ц2)(// Сложить ц1 и ц1 с результатом в ц2)
   (возврат) (// Возврат из процесса)

+ 4 - 2
docs/docs/03_10.md

@@ -10,6 +10,8 @@
 
 Здесь даётся краткое описание каждого кварка, более подробное описание дано в соответствующем разделе.
 
-### Кварк пусто.
+### Кварк Запрет `()`
 
-Кварк пусто нельзя использовать ни в каком виде, как значение. Служит для отрицания результата вычисления предыдущего контекста.
+Кварк Запрет `()` запрет запрещает строить нуклоны с состоянием. Но допускает существование нуклонов с поведением.
+
+[Кварк Запрет](./03_20.md)

+ 78 - 1
docs/docs/03_20.md

@@ -1 +1,78 @@
-# pro.03_20 Кварк пусто
+# pro.03_20 Кварк запрет `()`
+
+Кварк запрет `()` запрещает создание нуклонов с состоянием. Но допускает поведение. Служит для отрицания результата вычисления предыдущего контекста, выполнения действий.
+
+То есть `()` — это акт, который сознательно отказывается порождать сущее, значение которого можно потребить. Но это сущее можно заставить действовать.
+
+В диалектике отрицание — активный момент развития («сохраняющее отрицание» у Гегеля, преодоленное у Маркса).
+
+`()` — не идеалистическая пустота, а акт отказа от передачи состояния, то есть материальный выбор.
+
+Он имеет практическую стоимость:
+
+- освобождает память,
+- предотвращает ошибки,
+- упрощает анализ.
+
+Тогда `()` — кварк нулевой стоимости, но ненулевой семантики.
+
+Пример:
+
+```prolet
+(нуклон ЛогЗапись
+    @_кварк Запрет
+    @_док "Действие, не порождающее сущего")
+```
+
+Но: может ли нуклон иметь кварк `()`?
+
+Да, `()` — полноценный кварк.
+
+`()` — это граница контекста, единица композиции, форма материального акта, но с уточнением:
+
+`()` — это кварк, выражающий минимальное действие без продукта.
+
+Он соответствует таким явлениям реального мира:
+
+- логирование (факт события, но без возврата),
+- отправка сигнала (эффект в другом месте, но локально — ничего),
+- блокировка ресурса (состояние изменилось глобально, но локально — нет значения).
+
+> Это не «ничто», а «нечто, не предназначенное для локального потребления».
+
+## Свойства
+
+- Объём: 0 байт (как значение),
+- Стоимость: минимальная (только стоимость самого акта),
+- Инвариант: не может быть использован в выражении как значение,
+- Семантика: «действие завершено, продукт не требуется».
+
+Тогда:
+
+- `()` — литерал кварка `Запрет`,
+- Все функции и процессы с `()` в сигнатуре — работают с этим кварком,
+- Компилятор знает: этот кварк нельзя связать с `(уст ...)`.
+
+## 💡 Философский смысл
+
+> Даже отказ от продукта — это продукт практики.
+
+В мире, где всё должно быть полезным, сознательный отказ от полезности — высшая форма контроля.
+
+`()` — это материализованная скромность:
+
+> «Я сделал — но не требую, чтобы это стало твоим состоянием».
+
+## ✅ Заключение
+
+Да, `()` — это кварк, но особый:
+
+- он выражает действие без локального продукта,
+- он материально реален (имеет стоимость, след в логе, эффект в системе),
+- он защищает от идеализма, запрещая использование «ничего» как «чего-то».
+
+Запрет на состояние и допустимость действия нельзя исключать из онтологии.
+
+Потому что:
+
+> В мире, где всё — сущее, даже простое действие должно быть честным сущим.

+ 1 - 1
docs/pro_readme.md

@@ -34,7 +34,7 @@
 * pro.02_80 [Контексты вычислений](./docs/02_80.md)
 * pro.02_90 [Кварковый уровень prolet](./docs/02_90.md)
 * pro.03_10 [Набор кварков пролет](./docs/03_10.md)
-* pro.03_20 [Кварк пусто](./docs/03_20.md)
+* pro.03_20 [Кварк запрета](./docs/03_20.md)
 * Атомы языка
 * ВМ
 * Система типов

+ 2 - 2
docs/spec/quarq/string.yml

@@ -21,6 +21,6 @@
   - Уст: "Принудительно установить значение"
   - Получ: "Вернуть хранимое значение"
   - ЕслиРавно: "Сравнить на равенство с донором (вернуть Бул)"
-  - ЕслиПусто: "Проверить, содержит ли строка материю (вернуть Бул)"
+  - ЕслиЗапрет: "Проверить, содержит ли строка запрет на своё использование (вернуть Бул)"
   - КакЦел: "Преобразовать в число (если возможно)"
-  - КакБул: "Преобразовать в булево (истина если не пусто)"
+  - КакБул: "Преобразовать в булево (истина если не Стр содержит не дефолтное значение)"