02_70.md 10 KB

pro-016 Работа с сущностями в логике диалектического материализма

Свойства нашего материального макромира таковы, что мы можем говорить о нескольких явлениях работы с объектами, как о действующих законах. Например, мы можем наблюдать за макро-объектом. Или можем переместить макро-объект в другое место без фактического изменения самого объекта. Либо объект может оставаться на месте, но изменяться в потоке времени.

Для таких целей стоит определить несколько служебных атрибутов (например, @мут, от “мутировать”). Иммутабельность — свойства объектов сохранять свои внутренние свойства без изменения, ведь фактически в нашем макромире не происходит потребления сущности, например, при наблюдении (мы ограничиваем тем самым применимость нашего языка макромиром, но цель языка программирования prolet в том и состоит, чтобы максимально следовать принципам диалектического материализма, который максимально возможно и приемлемо отражает макромир. Требуется отдельное свойство на передачу мутабельного объекта и механизмы языка учитывают этот факт. Т.е. для нашего текущего процесса этот объект отдаётся в дочерний процесс и там что-то с ним происходит. Некий аналог системы владения в Rust, но в нашем случае это не владение "по требованию", а владение "по передаче" (имхо, несколько более гибкая схема -- не у нас отбирают, а мы сами передаём во владение и тогда происходит потребление, или передаём иммутабельную сущность “посмотреть” и тогда потребления не происходит). Соответственно, оба вида объектов при передаче не подлежат изменению без дополнительных свойств. Если объект сопровождается свойством @мут и он действительно мутабельный — его можно изменять в новом контексте.

Такие правила вводят самосогласованные, методологически строгие смыслы языка.

Предложенный атрибут уточняет онтологию языка, разграничивает формы взаимодействия с сущим, вводят субъектность программиста как труженика, а не пассивного идеалистичного наблюдателя или жестокого контролёра своих же мыслей.

prolet таким образом установлены правила:

  • в prolet нет пассивного потребления, есть сознательное действие,
  • каждое действие — акт диалектического отношения между процессом, сущим и следующим качеством.

Уточнение онтологии: три формы действия над сущим

В язык вводятся не просто абстрактные свойства, а семантическая система, отражающую реальные законы макромира, в котором действует диалектический материализм.

Наблюдение

(фн Посчитать (Яблоко x): Яблоко)

Наблюдение — не вмешательство без передачи владения. Поскольку объект не помечен как мутируемый — он передаётся в качестве наблюдения.

Передача владения

(прц Сложить (Яблоко x @мут Яблоко y @дать): Яблоко)

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

Всё это — не сокращения ради краткости, это — диалектическое снятие избыточности, движение от длинного слова к точному действию.

Наблюдение как познание без передачи и изменения

Онтология:

::: info В макромире наблюдение не уничтожает объект.

  • Я смотрю на дерево — дерево остаётся.
  • Я читаю значение — оно продолжает существовать.

:::

(Температура 25)(уст температура) 
(напечатать температура)
(напечатать температура)
(// всё ещё 25 в ВМ: Значение копируется, Исходное — не помечается, 
	Не удаляется, Не блокируется. Это — познание через практику, 
	но без разрушения условия познания.)

@дать — передача как передача владения

::: info Онтология: владение — не отнимается, владение — передаётся сознательно, это — акт доверия, труда, развития.

:::

(Приветствие "Привет, мир!")(уст сообщение) 
(Печать сообщение @дать)
(//сообщение больше не доступно здесь)

Семантика: после @дать— переменная сообщение больше не доступна в верхнем контексте. Но не уничтожена — она существует в другом процессе.

::: info Это — не смерть, а переход в иное бытие. Это — аналог передачи детали от рабочего к рабочему: рабочий не "теряет" деталь, он передаёт деталь новому рабочему.

:::

Передача — не копирование, не уничтожение, а перемещение в новую форму бытия.

Удаление, как передача объекта в ходе труда

(прц СтальНов(Руда руда @дать Уголь уголь @дать)(
	(Целое руда)(уст _руда)
	(Целое уголь)(уст _уголь)
	(Слож _руда _уголь)(уст _сталь)
	(Выч _руда _уголь)(уст _шлак)
	(Сталь _сталь)(уст сталь)
	(Шлак _шлак)(уст шлак)
)
(Руда 1000)(уст руда)
(Уголь 2000)(уст уголь)
(СтальНов руда уголь)
(уст @сталь)
(уст @шлак)

Семантика:

рудa и уголь— перестают существовать как таковые, но порождает новое качество: металл и шлак.
Это — не уничтожение,
Это — производство,
Это — единство и борьба противоположностей.

В ВМ: исходное значение помечается как потреблённые для текущего контекста, новые значения — создаются в этом же контексте,

Диалектическая иерархия действий

(прц Набл (Км км):ЕслиИзм()
) (// Как познание в нижнем контексте, без передачи)
(прц Изм(Км км @мут):Км()
) (// Как эволюция значения, с передачей)
(прц Дистанция Нов км @дать)(уст @дистанция)
(// Как потребление в ходе производства,
	с извлечением значения из нижнего контекста)

::: info наблюдение (познание)

(изменение)

(удаление) — производство нового качества

:::

Это — путь от чувственного к рациональному, от чтения к трудовой передаче, от передачи к созиданию.

Заключение

::: success prolet как язык декларирует сознательное действия в любом своём проявлении

:::

В prolet:

- Нет пассивности,

  • Нет хаотичного уничтожения,
  • Нет метафизического "владения"

Есть сознательное действие: наблюдать, передавать, трансформировать. Это — не просто семантика, это — модель социалистического отношения к ресурсам, где:

- Ничто не пропадает,

  • Всё передаётся,
  • Каждый процесс — производительный труд, сопряжённый с ответственностью.