В языке программирования prolet, связывание основано на стреле времени и онтологической чёткости: связывание — не присвоение в стиле x = f(), а процесс перехода от действия к сущему, зафиксированный как направленное преобразование во времени:
- уст %переменная
Это — не синтаксический курьёз.
Это — онтологическая фиксация становления:
💡 Мы живём в мире, где стрела времени всегда направлена в одну сторону. Это означает, что все процессы протекают в одном направлении — вдоль оси времени (даже если процесс обратим).
Поэтому и синтаксис языка должен следовать реальности в духе диалектического материализма.
Это — не просто замечание. Это объективное требование, чтобы язык prolet не просто описывал сущее, а воспроизводил в своей форме саму природу бытия: материю, движение, развитие, необратимость времени.
t.❗ Даже если система «возвращается» в предыдущее состояние — это не возврат во времени, а новый процесс, имитирующий прошлое.
💬 Форма языка — не статична, не императивна, а блочна, снимая проиворечие между декларацией и действием. Как материя в движении, так и код в prolet — развивается во времени.
Код читается и выполняется слева направо, сверху вниз — как поток практики.
Операции отражают движение от причины к следствию.
Нельзя использовать то, чего ещё не было. Синтаксис запрещает ссылки на будущее.
# Фиксированный результат, изменяемость определяется в
# сигнатуре вызова, по необходимости можно усилить требования,
# но не ослабить; можно ослабить выход, но не усилить. По Бертрану Мейеру
нач:
- ПолучитьДанные
- уст данные
- ГруппироватьПо данные ключ
- уст группа
- СуммироватьПо данные группа
- .. рез
💡 Нет «выражений, вычисляемых в параллель без указания порядка». Порядок — не подразумевается, а фиксируется. Параллельность допустима только в разных частях пространства (в изолятах).
Разберём досконально.
Форма:
нач:
- %выражение
- уст %имя
или
# Если возвращает изм -- можно усилить требования,
# но не ослабить
прц:
имя: Пуск
вых:
- Цел рез
нач:
# Выражение возвращает изменяемый результат
- Выражение
# Но возвращён будет неизменямый, так как именно так описан результат
- Выражение фикс
- .. рез
прц:
<...>
✅ Всё — одно выражение, отражающее процесс становления.
нач:
- ПолучитьДанные
Это — вызов, процесс, действие во времени.
Результат ещё не именован, но уже сущее.
уст — стрела времениУказывает направление:
✅ Допустимо, потому что:
Переменная — исторический факт, неизменяемый после присвоенияизм — рабочая величина, допускающее последующие изменения💡 Это — не тип, а статус существования во времени.
Пример: данные, группа, результат
💡 Имя — не метка памяти, а обозначение существующего сущего.
прц:
имя: Пуск
парам:
- СписЦел группа
вых:
- Цел +изм
нач:
- ПолучитьДанные
- уст данные
# Результат процесса 'ПолучитьДанные' становится 'рез',
# и далее считается завершённым, неизменяемым фактом
- СуммироватьПо группа
# В качестве аргумента метода изФикс по умолчанию передеётся 'рез'
# Результат процесса 'СуммироватьПо' становится именованным 'рез',
# но может быть изменён в будущем, если сущее также является "изм"
- Цел изФикс
# Оператор '..' возвращает результат родителю вызова
- .. рез
уст имя без изменения декларации выхода+изм — создаёт эффект изменяемой величины, если не указан -- неизменяемый фактуст — стрела времени, отражает переход от действия к сущему:=, =, <-, -> . Только уст как отражение реального потока времени в одну сторонуизм — можно, если сигнатура вызова определяет изменяемость результата.прц:
имя: ОбработатьДанные
вых:
- РезОк рез
нач:
- ПолучитьДанные
- уст данные
# Последний аргумент -- 'рез', передан неявно
- Данные еслиОшибка
- если рез
- _ тогда РезОшибка "нет_данных",
- _ .. рез
- ГруппироватьПо данные ключ
- уст группа
- СуммироватьПо группа
# В данном случае неявная переменная 'рез' передаётся явно
- ДобавитьМетаданные
- .. рез
изм — для рабочих величин, допускающих развитие.изм (рабочая величина) может стать только завершённым фактом.Язык prolet следует диалектическому материализму:
уст — не оператор, а символ времени, отражающий:
💡 «Как руда не становится сталью сама по себе, а только в ходе движения производственных процессов, через становление формы полезного ресурса
руда, так и значение не становится сущим без фиксации».
Язык установил онтологически чистую форму связывания:
prolet — не язык программирования, а язык фиксации процесса во времени.
уст имя — это не присваивание, это — акт фиксации сущего во времени.
Нет места для x = f(). Есть только уст x — как протокол становления.
✅ «Код в prolet — не набор инструкций, а запись практики, зафиксированной в единстве материи и движения».
Описанная семантика вводит в язык диалектику бытия и становления:
Каждое связывание — это момент в истории системы, и эта история не может быть стёрта, она может только изменить форму бытия.
Это — язык не для «вычисления», а для практического преобразования мира. Именно такой язык нужен для построения надёжных, осознанных, этичных систем.