02_30.md 11 KB

pro.02_30 Диалектика изменяющего и трансформирующего действия

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

Первое -- может приводить к разным результатам при одном порядке действий.

Второе -- имеет всегда одно и то же завершение при одних и тех же входных данных (чистая функция).

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

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

Все кварки являются функциями в том смысле, что меняя собственное состояние кварк всегда поддерживает собственные инварианты. В этом смысле цифровая материя prolet является чистой функцией как закон.

С другой стороны, все кварки обладают состоянием. Таким образом в кварке объединяются закон и материя, что снимает противоречие закон-материя.

Закон не парит над материей -- он её плоть.

Материя не сводится только лишь к хаосу, но даже хаос обнаруживает законы.

Закон -- устойчивая форма движения материи.

Это — не просто синтаксическое различие.

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

✅ Принятое положение

В коде на языке prolet различаются два типа контекстов-действий :

  • (прц ...) — материальный процесс, зависящий от внешних условий, времени, состояния системы.
  • (фн ...) — чистое преобразование, не имеющее побочных эффектов, детерминированное, отвечающее критерию математической функции.

🔁 Диалектическое различие

КАТЕГОРИЯ ПРОЦЕСС ФУНКЦИЯ
Природа Материальный, исторически обусловленный Формальный, логически детерминированный
Зависимость от времени Да: каждый запуск — новый момент Нет: время не влияет
Побочные эффекты Допустимы (запись, отправка, изменение) Запрещены
Детерминированность Нет: может зависеть от входов, состояния Да: одинаковые входы → одинаковые выходы
Онтологический статус Практика, действие, изменение Закон преобразования
Аналог в реальности Работа завода, регистрация пользователя Формула: f(x) = x²
💡 Процесс — это диалектика материи в движении.
💡 Функция — это закон, выделенный из практики.

✅ Форма объявления: процесс

(прц ОтправитьУведомление
        (Пользователь пользователь @изм
         Сообщение    сообщение ) Результат КодОшибки @изм(
    (если (ПроверитьАктивность пользователь)
        тогда ((ПодготовитьСообщение сообщение)
                (ПолучитьПочту пользователь)
                (ОтправитьЧерезПочту @рез)
                (ЗаписатьЖурнал "Уведомление отправлено"))
    ))
)

Семантика процесса

Может возвращать разные результаты при одинаковых пользователь и сообщение:

  • почта упала,
  • email изменился,
  • пользователь деактивирован.

Имеет побочные эффекты:

  • запись в журнал,
  • отправка.

Зависит от времени и состояния системы. Параметры по умолчанию фиксированы, чтобы явно указать факт изменяемости, нужно передавать атрибут @изм .

💡 Процесс — *не функция*, а *практика социального взаимодействия*.

✅ Форма объявления: функция

(фн ПолучитьКвадрат (Число x): Число(
    (Умножить x x))
)

(фн ФорматироватьИмя
        (Имя имя    Фамилия фамилия) Текст(
    (Соединить фамилия " " имя))
)

Семантика функции

  • При одинаковых x всегда вернёт одинаковый результат;
  • Нет побочных эффектов: не пишет, не отправляет, не изменяет;
  • Не зависит от времени, состояния, внешних условий;
  • Может быть вычислена в любой момент, даже заранее;
  • Поскольку все параметры неизменяемы — нет смысла указывать @изм, в любом случае все параметры воспринимаются как фиксированные.

    💡 Функция — чистое преобразование, заимствованное из логического дискурса, но вписанное в практику как инструмент.
    

📜 Онтологические правила prolet

ПРАВИЛО ФОРМУЛИРОВКА
1 процесс -- действие, зависящее от материи и времени, может давать разные результаты
2 функция -- чистое преобразование, всегда одинаковый результат при одинаковых входах
3 функция не может вызывать процесс (иначе — не чистая)
4 процесс может использовать функцию (как инструмент преобразования)
5 функция не имеет побочных эффектов
6 процесс может иметь побочные эффекты (запись, отправка, изменение)
7 функция может быть встроена в процесс, но не наоборот

🔄 Пример: процесс, использующий функцию

(прц ОбновитьПрофиль (
        Пользователь пользователь @изм
        Имя имя_новое
        Фамилия фамилия_новая): Результат(
    (если (ПроверитьПрава пользователь)
    тогда (
        (ФорматироватьИмя имя_новое фамилия_новая)
        (уст полное_имя)
        (Пользователь.УстИмя (пользователь полное_имя)
        (СохранитьБаза (пользователь))
    ))
)

Здесь:

  • ФорматироватьИмя — функция, чистая, детерминированная;
  • СохранитьБаза — процесс, зависит от прав, состояния базы, времени.

💡 Философское обоснование

Нотация следует духу диалектического материализма:

  • Материя первична — процесс отражает её движение;
  • Форма вторична — функция есть идеализация, выделенная из практики;
  • Но форма может служить практике — функция используется внутри процесса;
  • Но не наоборот — практика не может быть сведена к форме.

💬 «Функция — как формула в голове инженера

  • Процесс — как работа завода,
  • Формула помогает управлять заводом,
  • но завод не сводится к формуле, с помощью процессов завод преобразует материю в новые формы.

🏁 Заключение

В этой части установлено ключевое онтологическое различие:

  • функция — закон преобразования, выделенный из практики, но не зависящий от неё,
  • процесс — реализация практики, зависящая от материи, времени, случайностей.

💡 prolet больше не смешивает форму и содержание. Он разделяет их — чтобы соединить на высшем уровне.