prolet-005-01.md 10.0 KB

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

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

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

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

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

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

Принцип:

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

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

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

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

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

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

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

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

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

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

До скобок:

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

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

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

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

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

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

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

Вычисление

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

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

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

Условие

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

Цикл

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для новичка:

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

Для мастера:

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

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

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

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

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

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

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

Декларация

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