prolet-010.md 18 KB

Диалектическая онтология типов

Диалектическая онтология типов подчиняется тем же законам, что и весь диалектический материализм.

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

Диалектическая онтология типов как отражение структуры объективной реальности.

Мы уже отвергли идеалистические перекосы:

  • nil как "сущее небытие",
  • динамика как хаос,
  • синтаксис как идеалистическая бюрократия.

Но теперь настал момент синтеза:

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

к диалектической онтологии типа.

Диалектический путь развития понятия "тип"

Простое (метафизика)

Тип — ярлык, классификация. Неподвижен.

int , string , bool

Противоречие: Простые типы не отражают сложность мира. Возникает потребность в составных. Простые типы поглощаются составными.

struct , type , tuple, list

Кроме того, Целое — как простой тип не просто число, а объект с поведением. Поведение объекта, способы взаимодействия с миром определяются свойствами самого объекта. С другой стороны, те же свойства объекта диалектически накладывают ограничения на тот же объект.

Снятие противоречия (синтез)

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

Это — не эволюция, а революция в мышлении:

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

Целое не просто как один из типов, а как фундаментальный тип реальности.

Критика метафизического подхода к типам

Ошибка: тип как "вещь в себе"

В C , Java , Python : int — это нечто отдельное, не связанное с практикой.

Но в реальности:

  • Целое в банковской системе ≠ Целое в физике частиц,
  • Строка в UI ≠ Строка в криптографии.
  • Метафизика абстрагируется от содержания,
  • идеализм отрывает форму от материи.

Нет никакого абстрактного int . Есть:

  • число яблок
  • число груш
  • число аршин сукна

Это всё целые числа, но это разные целые числа. Нельзя складывать число яблок с числом груш. Это разные числа. Но, складывая эти разные числа -- можно получить число фруктов, как число нового типа.

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

Диалектическая онтология типа: тип как единство формы, содержания и практики

Принципы:

Тип — не ярлык, а категория бытия

Отражает объективную структуру предметной области

Тип возникает в практике

Не задаётся сверху, а вырастает из задачи

Тип — в движении форм материи

Развивается, дополняется, трансформируется

Тип — отношение форм материи

Не изолирован, а связан с другими типами, с памятью, с временем

Тип — результат познания материи

Чем глубже понимание — тем точнее тип. Тип — это не только ответ на вопрос "что это", но и "почему", "каким образом", "зачем".

Путь от базового к универсальному: три стадии онтологического развития

Стадия 1: Отрицание абстрактов (антипод метафизике)

Мы отрицаем существование "абстрактных типов" как таковых.

Нет int . Есть Счёт , Индекс , Количество , КодОшибки .

Нет string . Есть Имя , Хэш , Запрос , Ответ .

(тип Рубль или Рубля или Рублей (// синонимы типа)
    @_база    Целое             (// Абстракция в основе типа)
    @_диапазон (0 999_999_999)  (// Допустимый диапазон на базе абстрактного типа)
    @_операции (слож выч))      (// Допустимые операции над конкретным типом)

Примитив не уничтожен, но воспроизведён на новом уровне — как осмысленная категория.

Онтологическое уточнение: свойство @_база Целое

Свойство @_база опирается на аппаратную абстракцию Целое, но по отношению к материалистичному миру является сущим только в рамках математического дискурса. Т.е. математические типы не ограничиваются типом Целое. Но этим типом ограничивает аппаратура.

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

Интерпретация

ПОНЯТИЕ СТАТУС В ОНТОЛОГИИ PROLET
Целое Не первичная данность, а результат высшего обобщения практики счёта (считали камни, яблоки, дни — и выделили общую форму)
Аппаратный дискурс Специфическая техническая практика, в которой абстракция (вроде Целое) обращаются как сущее, хотя она и есть специфичная форма материи
@база Указание на форму, заимствованную из математического дискурса, но используемую как инструмент для организации сущего

Это — не признание платонизма, а признание автономии отражения.

Как язык отражает мир, так и аппаратура, так и математика — отражает количественные отношения, и эти отношения не существуют вне практики.

📜 Принципы объявления типов prolet

  • Тип — только материализованная форма сущего
  • Целое, Строка, Дробное, Логическое — не типы, а базовые абстракции
  • @база — не наследование, а заимствование формы из дискурса аппаратного обеспечения
  • Тип всегда имеет социальный, экономический или технический контекст
  • Без свойств, отражающих практику — нет типа
  • Определение вида c использованием аппаратного типа (тип Целое ...) — ошибка онтологии, запрещено

Стадия 2: Сложное — как единство противоположностей

Структура — не просто набор свойств, а единство противоречий:


(// любой тип имеет одно значение,
не число свойств может быть любым)
(тип Роль или Права
    @_обязательно
    @_база Перечисление
    @_выбор_ (Админ Пользователь Гость)
    @значение Гость (// По умолчанию, можно менять)
    @_док "Роль пользователя в системе"

(тип ПользовательНомер
    @_обязательно
    @_база          Целое
    @_диапазон      (1 999_999_999)
    @_автоИнкремент
    @_уникально
    @_док ( "идентификация пользователя в системе")

(тип Имя или Название
    @_база      Строка
    @_умолчание "Иван"
    @_док       "идентификация пользователя в системе")

(структ Пользователь
    @_номер ПользовательНомер
    @имя  Имя (// Можно менять)
    @счёт Счёт
    @роль Роль
    @если_акт Активность
)

Свойство в структуре может ссылаться только на практический тип — то есть на материализованное сущее (тип или структура).

Прямая ссылка на аппаратную абстракцию вне явно обозначенных границ (Целое, Вещ и т.п.) — запрещена.

Все свойства, помечены префиксами:

  • @_база -- системный, нельзя изменить
  • @значение -- пользовательский, можно изменять.

В приведённом синтаксисе достигается единство формы и содержания:

  • Разделение "атрибут vs поле" — идеализм, ведущий к ложному противопоставлению "сущности" и "её свойств". В предлагаемом подходе всё является свойством.
  • В реальности — есть только объект с характеристиками: у человека — имя, возраст, роль, статус, история.
  • Нет "основных данных" и "метаданных" — есть все данные как единое сущее.

Философский и практический смысл

АСПЕКТ ОБЪЯСНЕНИЕ
Онтология Тип — не шаблон, а форма сущего в практике. Если в практике номер всегда уникален и присваивается автоматически, то такие свойства — часть его бытия, а не внешнее условие.
Единство формы Если ПользовательНомер используется в 10 структурах — не нужно 10 раз писать @уникально. Нарушение — на уровне типа, а не контекста.
Безопасность Система гарантирует уникальность и обязательность на уровне типа, а не доверяет типу "не забыть".
Эволюция практики Если правило изменится (например, номер перестанет быть авто-инкрементным), — меняется одно свойство в типе

Принципы проектирования в prolet

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

Форма 3: интерфейс — тип как отношение

(интерфейс ИХранилище
    @_док "Абстракция работы с хранилищем"
    (ПолучФайл (имя ИмяФайла @фикс) ->Результат Спис.Байт @фикс
        @_док "Читает файл с диска")
    (ЗаписатьФайл (имя @фикс ИмяФайла данные @фикс Спис.Байт) -> @фикс Результат Логическое
        @_док "Записывает файл на диск")
    (ЗакрытьХранилище)
)

(уст (НовХранилище) @мут хран)
(хран ПолучФайл "test.txt")

Интерфейс определяется не сущностью, а связями — как в диалектике.

  • интерфейс — объявляет форму взаимодействия, а не математическую сигнатуру
  • Каждое действие — глагол, отражающий практику
  • Параметры: (имя Тип, данные Тип) — именованные, ссылаются на типы
  • Возврат: (Результат Тип) — структура, отражающая результат практики
  • Возвращаемый результат может отсутствовать
  • Все типы в интерфейсе — практические, определённые через (тип, структ, ...)
  • @_док — не обязателен для каждого метода и интерфейса, но можно потребовать обязательность на уровне проекта или конкретного действия
  • Интерфейс не содержит реализации — только действия с параметрами и возвращаемые значения

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

    Математические типы (отрицание)
      ↓
    Конкретные типы (противоположность)
      ↓
    Структуры (синтез)
      ↓           ↘
    свойства    действия
                    ^
                Интерфейсы

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

Практические гарантии онтологии

  • Нет "голых" примитивов в публичных интерфейсах.
  • Все типы — документированы, семантически обогащены.
  • Переход от простого к сложному — не волевой, а мотивированный практикой.
  • форма — не обязательна, но поощряется в крупных системах.

Заключение: онтология как отражение мира

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

Это — не просто система типов, это — модель познания мира:

от чувственного (примитив)к рациональному (сложное)к диалектическому (универсальное).

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