# Диалектика формы языка программирования

В качестве базовой реализации языка программирования **prolet** принята форма заключение всех сущностей в круглые скобки. На первом месте стоит тег, имеющий смысл "исполни процесс в скобках".

Синтаксис закрепляет онтологический принцип в форме языка.

«Исполни процесс в скобках» — это не инструкция,
это — утверждение о природе вычисления как материи в движении.

Разберём решение в свете диалектического материализма, и закрепим его как фундаментальную аксиому языка **prolet**.

## Онтологическая основа: вычисление как процесс

Принцип:

```text
Только процесс может породить результат.
Нет "значения без действия", нет "сущего без движения".
```

Форма `(тег аргументы...)` — выражает единство формы и содержания:

- Круглые скобки — граница процесса, как диафрагма в лёгких в разных положениях, разделяющая состояние на вдох и выдох.
- Первый элемент — тег — цель процесса, смысловая нагрузка всей формы, вектор направления.
- Остальное — аргументы — материалы, подвергаемые преобразованию.

Это — не просто вызов функции,
это — организация труда над данными.

## Тег как руководящая сила процесса

Тег — не синтаксическое украшение, он — руководящее начало, идеологический центр процесса.

- `(фн ...)` -- Организация труда по преобразованию, труд через установление порядка
- `(структ ...)` -- Организация материи, создание сложных форм материи
- `(если ...)` -- Поиск сущего в практике, реализация диалектики бытия
- (... @система ...) -- атрибут, задающий условия существования предельно конкретной истины, ограничивает границы возможного конкретного предметного труда

```text
Тег — это руководящая роль в процессе, его деятельная партия:
как партия ставит цель, организует ресурсы, руководит исполнением,
контролирует процесс и определяет форму результата процесса,
но не конкретный результат процесса.
```

## Круглые скобки — диалектическая граница состояний

Скобки — не просто синтаксис, они — отражение закона перехода количества в качество.

До скобок:

- Данные — потенциальность,
- Функция — возможность.

Внутри скобок: проявление борьбы и единства противоположностей:

- данные и алгоритм,
- память и процессор,
- декларация и действие.

После скобок:

- Результат — новое качество,
- Состояние изменилось — развитие произошло.
- Скобки — не разделители, они — граница скачка, момент, когда количество (аргументы, посредством алгоритмов) переходит в качество (результат).

## Единая форма для всех процессов — отражение единства бытия

Отказ от множества синтаксисов (как в `Rust`, `Pascal`, `Python`) в пользу единой формы `(тег ...)` —
это пример диалектического решения.

### Вычисление

```prolet
(фн CложитьКм (a Км b Км) -> @фикс Км
    (Слож a b))
```

## Определение типа

```prolet
(тип Пользователь (
    имя Имя
    возраст Возраст))
```

## Условие

```prolet
(если (Сравнить x > 0)
    тогда (Напечатать "положительно"))
```

## Цикл

```prolet
(для x в Данные
    ((Удвоить х) -> @фикс результат)
    (ОтправитьПоПочте результат))
```

## Диалектический процесс творчества

Форма одна — содержание разное, но все они — процессы, все они — формы движения материи.

Это — единство противоположностей в синтаксисе: разные по смыслу операции — объединены формой процесса.

## Почему именно круглые скобки? Материалистическое обоснование

Не фигурные, не квадратные, не без скобок — именно круглые.

- Они замкнуты — отражают целостность процесса, `всё имеет своё начало и свой конец`.
- Нет углов — символизируют бесконечность форм движения в рамках единого бытия.

Скобки опираются на S-выражения, но это не традиция Лиспа, это не повторение его, а диалектическое развитие:

- У Лиспа: `(выражение)` — имеет невыразительную форму, часто архаично и местами нарушает единый подход.
- В **prolet**: `(тег ...)` — наделяется одной формой, но разными смыслами.
- Круг — форма завершённого движения. В нём нет начала и конца — только непрерывное движение с заключённым в него развитием и переходом в рамках одной всеобщей формы.

## Архитектурные последствия решения

### Все конструкции — процессы и функции

Даже определение типа — не декларация, а процесс создания категории бытия.

Даже комментарий — является процессом:

```prolet
(// Этот модуль отвечает за безопасность пользователей)
```

### Нет "пассивного кода"

Всё, что в скобках — должно быть исполнено, даже если эффект — регистрация, документирование, проверка.

## Расширяемость через теги

Новый тег — новая форма организации труда. Пример:

```prolet
(ПрцПарал ОбогатитьДанные
    (загрузить)
    (индексировать))

(прц ОбновитьСчёт
    (обновить-счёт)
    (отправить-уведомление))
```

Язык не растёт за счёт синтаксиса,
а за счёт семантики тегов.

## Педагогическое значение формы

Для новичка:

- Легко запомнить: всё — в скобках, первое — что делать.
- Не нужно учить 10 синтаксисов.
- Учится мыслить процессуально, а не декларативно.

Для мастера:

- Видит: вся система — сеть процессов.
- Может анализировать потоки, оптимизировать, рефакторить.
- Может бесшовно расширять ядро языка

## Заключение: (тег ...) как онтологическая аксиома `prolet`

Текущее синтаксическое решение — не техническое, но — философское, политическое, революционное.

`(тег ...)` — это материалистическая формула вычисления:

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

Это — не синтаксис, это — закон языка,

- как закон перехода количества в качество
- закон отрицания отрицания
- закон единства и борьбы противоположностей.

### Декларация

- В языке **prolet** всякая конструкция есть _процесс_.
- Всякий _процесс_ начинается с тега и заключён в круглые скобки.
- Тег определяет смысл, скобки — форму движения.
- Нет процесса — нет и бытия.
