|
|
@@ -26,24 +26,26 @@
|
|
|
|
|
|
Базовый тип — ярлык, классификация. Неподвижен.
|
|
|
|
|
|
-`int` , `string` , `bool`
|
|
|
+В терминах `prolet` базовый тип называется кварк. Кварки встроены в `prolet` и являются инвариантами информационной материи. Кварки нельзя ни отменить, не переопределить.
|
|
|
|
|
|
-> 💡 Противоречие: базовые типы не отражают сложность мира. Возникает потребность в практических. Базовые типы поглощаются практическими.
|
|
|
+`пусто`, `бул`, `байт`, `целое`, `вещ`, `строка`
|
|
|
|
|
|
-`struct` , `type` , `tuple`, `list`
|
|
|
+> 💡 Противоречие: кварки не отражают в полной мере структурную сложность мира. Возникает потребность в практических типах -- нуклонах. Нуклоны основаны на кварках.
|
|
|
|
|
|
-Кроме того, `Целое` — как базовый тип не просто число, а объект с поведением. Поведение объекта, способы взаимодействия с миром определяются свойствами самого объекта. С другой стороны, те же свойства объекта диалектически накладывают ограничения на тот же объект.
|
|
|
+`Яблоко` , `Груша` , `Час`, `СписокРабот`
|
|
|
+
|
|
|
+Кроме того, `целое` — как кварк не просто число, а объект с поведением. Поведение объекта, способы взаимодействия с миром определяются свойствами самого объекта. С другой стороны, те же свойства объекта диалектически накладывают ограничения на тот же объект.
|
|
|
|
|
|
### Снятие противоречия (синтез)
|
|
|
|
|
|
-Базовый тип-процесс, отношение, структура в движении. Универсальный тип, порождающий себя и служащий строительным материалом для порождения практических типов.
|
|
|
+Кварк, отношение, материя в движении. Универсальный тип, порождающий себя и служащий строительным материалом для порождения нуклонов.
|
|
|
|
|
|
Это — не эволюция, а революция в мышлении:
|
|
|
|
|
|
-- базовый тип перестаёт быть статической меткой,
|
|
|
-- и становится практическим типом -- формой существования материи в информационной сфере.
|
|
|
+- кварк перестаёт быть самостоятельной сущностью,
|
|
|
+- и становится нуклоном -- формой существования материи в информационной сфере.
|
|
|
|
|
|
-> 💡 `Целое` не просто как один из типов, а как фундаментальный тип реальности.
|
|
|
+> 💡 `целое` не просто как один из кварков, а как фундаментальный тип реальности.
|
|
|
|
|
|
## Критика метафизического подхода к типам
|
|
|
|
|
|
@@ -72,95 +74,95 @@
|
|
|
|
|
|
Принципы:
|
|
|
|
|
|
-### Практический тип — не ярлык, а категория бытия
|
|
|
+### Нуклон — не ярлык, а категория бытия
|
|
|
|
|
|
-Отражает объективную структуру предметной области
|
|
|
+Отражает объективную структуру предметной области.
|
|
|
|
|
|
-### Практический тип возникает в практике
|
|
|
+### Нуклон возникает в практике
|
|
|
|
|
|
-Не задаётся сверху, а вырастает из задачи
|
|
|
+Не задаётся сверху, а вырастает из задачи, из реальных условий.
|
|
|
|
|
|
-### Практический тип — в движении форм материи
|
|
|
+### Нуклон — в движении форм материи
|
|
|
|
|
|
-Развивается, дополняется, трансформируется
|
|
|
+Развивается, дополняется, трансформируется.
|
|
|
|
|
|
-### Практический тип — отношение форм материи
|
|
|
+### Нуклон — отношение форм материи
|
|
|
|
|
|
-Не изолирован, а связан с другими типами, с памятью, с временем
|
|
|
+Не изолирован, а связан с другими нуклонами через кварки, с памятью, с временем.
|
|
|
|
|
|
-### Практический тип — результат познания материи
|
|
|
+### Нуклон — результат познания материи
|
|
|
|
|
|
-Чем глубже понимание — тем точнее тип. Практический тип — это не только ответ на вопрос "что это", но и "почему", "каким образом", "зачем".
|
|
|
+Чем глубже понимание — тем точнее свойства нуклона. Нуклон — это не только ответ на вопрос "что это", но и "почему", "каким образом", "зачем".
|
|
|
|
|
|
## Путь от базового к универсальному: три стадии онтологического развития
|
|
|
|
|
|
### Стадия 1: Отрицание абстрактов (антипод метафизике)
|
|
|
|
|
|
-Мы отрицаем существование "абстрактных типов" как таковых.
|
|
|
+Мы отрицаем существование "абстрактных типов" как таковых. Как свободные кварки отсутствуют в природе, так и:
|
|
|
|
|
|
Нет `int` . Есть `Счёт` , `Индекс` , `Количество` , `КодОшибки` .
|
|
|
|
|
|
Нет `string` . Есть `Имя` , `Хэш` , `Запрос` , `Ответ` .
|
|
|
|
|
|
```prolet
|
|
|
-(тип Рубль или Рубля или Рублей (// синонимы типа)
|
|
|
- (// Абстракция в основе типа)
|
|
|
- @_база Целое
|
|
|
+(нуклон Рубль или Рубля или Рублей (// синонимы типа)
|
|
|
+ (// Абстракция на основе кварка)
|
|
|
+ @_база целое
|
|
|
|
|
|
- (// Допустимый диапазон на базе абстрактного типа)
|
|
|
+ (// Допустимый диапазон на базе кварка)
|
|
|
@_диапазон (0 999_999_999)
|
|
|
|
|
|
(// Допустимые операции над конкретным типом)
|
|
|
@_операции (слож выч))
|
|
|
```
|
|
|
|
|
|
-> 💡 Базовый тип не уничтожен, но воспроизведён на новом уровне — уровне практического типа как осмысленная категория.
|
|
|
+> 💡 Кварк не уничтожен, но воспроизведён на новом уровне — уровне нуклона как осмысленная категория с политиками общественных отношений.
|
|
|
|
|
|
-### Онтологическое уточнение: атрибут `@_база Целое`
|
|
|
+### Онтологическое уточнение: атрибут `@_база целое`
|
|
|
|
|
|
-Атрибут `@_база` опирается на математическую абстракцию `Целое`, но по отношению к материалистичному миру является сущим *только в рамках математического дискурса*. Т.е. математические типы не ограничиваются типом `Целое`. Но этим типом ограничивает аппаратура. Аппаратный тип `Целое` обобщается таким же математическим типом с известными наложенными ограничениями.
|
|
|
+Атрибут `@_база` опирается на кварк `целое`, но по отношению к материалистичному миру является сущим *только в рамках физического дискурса*. Т.е. кварки не ограничиваются типом `целое`. Но этим типом ограничивает мир цифровой материи в своей основе. Кварк `целое` обобщается конкретным нуклоном с известными наложенными ограничениями (политиками).
|
|
|
|
|
|
-Это — *ключевое* уточнение, которое позволяет не отступать от диалектического материализма, но признать относительную самостоятельность аппаратного, равно и математического мышления как *специфической формы отражения реальности*.
|
|
|
+Это — *ключевое* уточнение, которое позволяет не отступать от диалектического материализма, но признать относительную самостоятельность цифрового, равно и математического мышления как *специфической формы отражения реальности*.
|
|
|
|
|
|
### Интерпретация
|
|
|
|
|
|
| ПОНЯТИЕ | СТАТУС В ОНТОЛОГИИ PROLET |
|
|
|
|------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
|
-| Математический дискурс | Специфическая математическая практика, в которой абстракция (вроде `Целое`) обращаются как не первичная данность, а результат высшего обобщения практики счёта (считали камни, яблоки, дни — и выделили общую форму) |
|
|
|
-| Языковой дискурс | Специфическая общественная практика, в которой абстракция `Целое` приобретает явные множественные формы (число камней, яблок, дней) с общими и частными атрибутами, но контекст задаётся программистом (определяется конкретный тип). |
|
|
|
+| Физический дискурс | Специфическая физическая практика, в которой абстракция (вроде кварка `целое`) обращаются как первичная данность, и результат высшего обобщения физической практики (исследовали камни, яблоки, дни — и выделили первичную форму) |
|
|
|
+| Языковой дискурс | Специфическая общественная практика, в которой кварк `целое` приобретает явные множественные формы (число камней, яблок, дней) с общими и частными атрибутами, но контекст задаётся программистом (определяется конкретный тип). |
|
|
|
| Аппаратный дискурс | Специфическая вычислительная практика, в которой произвольно смоделированный тип программистом отражается на реально существующую аппаратуру в доступной форме. В ходе изменения формы сущности преходят атрибуты типа, которые фактически становятся ограниченными конкретными операциями в конкретном алгоритме (переход качества в количество). |
|
|
|
-| @_база | Указание на форму, заимствованную из математического дискурса, но используемую как инструмент для организации сущего |
|
|
|
+| @_база | Указание на форму, заимствованную из физического дискурса, но используемую как инструмент для организации сущего |
|
|
|
|
|
|
Это — далеко от платонизма, по сути это признание автономии отражения на разных уровнях бытия.
|
|
|
|
|
|
-Как язык отражает мир, так и аппаратура, так и математика — отражает количественные отношения, и эти отношения не существуют вне практики.
|
|
|
+Как язык отражает мир, так и аппаратура, так и физика — отражает количественные отношения, и эти отношения не существуют вне практики.
|
|
|
|
|
|
-## 📜 Принципы объявления практических типов `prolet`
|
|
|
+## 📜 Принципы объявления нуклонов `prolet`
|
|
|
|
|
|
-- Практический тип — только материализованная форма сущего
|
|
|
-- `Целое`, `Строка`, `Дробное`, `Логическое` — базовые типы, получающие отражение на низком уровне в аппаратуру.
|
|
|
-- `@база` — не наследование, а заимствование формы из дискурса математического аппарата
|
|
|
-- Практический тип всегда имеет социальный, экономический или технический контекст
|
|
|
-- Без атрибутов, отражающих практику — *нет типа*
|
|
|
-- Определение вида c использованием математического типа `(тип Целое ...)` — ошибка онтологии, запрещено
|
|
|
-- Практический тип может быть построен на любом базовом типе, но только одном базовом типе. Но атрибутов базового типа может быть по необходимости.
|
|
|
+- Нуклон — только материализованная форма сущего
|
|
|
+- `целое`, `строка`, `вещ`, `бул`, `байт`, `пусто` — связанные кварки, получающие отражение на низком уровне в аппаратуру (реальность).
|
|
|
+- `@_база` — не наследование, а заимствование формы из дискурса физического аппарата
|
|
|
+- Нуклон всегда имеет социальный, экономический или технический контекст
|
|
|
+- Без атрибутов, отражающих практику — *нет нуклона*
|
|
|
+- Определение вида c использованием кварка `(нуклон целое ...)` — ошибка онтологии, запрещено
|
|
|
+- Нуклон может быть основан на любом кварке, но только одном кварке. Но атрибутов нуклона может быть по необходимости.
|
|
|
|
|
|
## Стадия 2: Сложное — как единство противоположностей
|
|
|
|
|
|
-Структура — не просто набор свойств, а единство противоречий:
|
|
|
+Атом — не просто структура с набор свойств, а единство противоречий:
|
|
|
|
|
|
```prolet
|
|
|
|
|
|
-(// любой тип имеет одно значение и один базовый тип,
|
|
|
- не число атрибутов может быть любым)
|
|
|
-(тип Роль или Права
|
|
|
+(// любой нуклон построен на единственном кварке,
|
|
|
+ но число атрибутов может быть любым)
|
|
|
+(нуклон Роль или Права
|
|
|
@_обязательно
|
|
|
@_база Перечисление
|
|
|
@_выбор_ (Админ Пользователь Гость)
|
|
|
@значение Гость (// По умолчанию, можно менять)
|
|
|
@_док "Роль пользователя в системе"
|
|
|
|
|
|
-(тип ПользовательНомер
|
|
|
+(нуклон ПользовательНомер
|
|
|
@_обязательно
|
|
|
@_база Целое
|
|
|
@_диапазон (1 999_999_999)
|
|
|
@@ -168,12 +170,14 @@
|
|
|
@_уникально
|
|
|
@_док ( "идентификация пользователя в системе")
|
|
|
|
|
|
-(тип Имя или Название
|
|
|
+(нуклон Имя или Название
|
|
|
@_база Строка
|
|
|
@_умолчание "Иван"
|
|
|
@_док "идентификация пользователя в системе")
|
|
|
|
|
|
-(структ Пользователь
|
|
|
+(// любой атом имеет множество нуклонов и атомов,
|
|
|
+ но число атрибутов может быть любым)
|
|
|
+(атом Пользователь
|
|
|
@_номер ПользовательНомер
|
|
|
@имя Имя (// Можно менять)
|
|
|
@счёт Счёт
|
|
|
@@ -182,20 +186,20 @@
|
|
|
)
|
|
|
```
|
|
|
|
|
|
-Свойство в структуре может ссылаться только на практические типы или на структуру (эту же или другую) — то есть на материализованное сущее (тип или структура).
|
|
|
+Свойство в атоме может ссылаться только на нуклоны или на атом (этот же или другой) — то есть на материализованное сущее (нуклон или атом).
|
|
|
|
|
|
-Структуры и типы, которые содержит конкретная структура могут быть определены позже, но до момента начала семантического анализа.
|
|
|
+Атом, который содержит другой атом или нуклоны -- могут быть определены позже, но до момента начала семантического анализа.
|
|
|
|
|
|
-Прямая ссылка на базовый тип вне практического типа — запрещена.
|
|
|
+Прямая ссылка на кварк вне нуклона — запрещена.
|
|
|
|
|
|
-Все атрибуты в типе, помечены префиксами:
|
|
|
+Все атрибуты в нуклоне, помечены префиксами:
|
|
|
|
|
|
- `@_база` -- системный, нельзя изменить
|
|
|
- `@значение` -- пользовательский, можно изменять.
|
|
|
|
|
|
-В приведённом синтаксисе объявления структуры достигается единство формы и содержания:
|
|
|
+В приведённом синтаксисе объявления атома достигается единство формы и содержания:
|
|
|
|
|
|
-- Разделение "атрибут vs поле" — идеализм, ведущий к ложному противопоставлению "сущности" и "её атрибутов". В предлагаемом подходе всё является атрибутом. Абстракция `Целое` *должна* быть отражена на реально существующий носитель, который *неизбежно* приобретает дополнительные атрибуты.
|
|
|
+- Разделение "атрибут vs поле" — идеализм, ведущий к ложному противопоставлению "сущности" и "её атрибутов". В предлагаемом подходе всё является свойством. Кварк `целое` *должен* быть отражён на реально существующий носитель -- нуклон, который *неизбежно* приобретает дополнительные атрибуты (в том числе контракт, как социальная политика).
|
|
|
- В реальности — есть только объект с характеристиками: у человека — имя, возраст, роль, статус, история.
|
|
|
- Нет "основных данных" и "метаданных" — есть все данные как единое сущее.
|
|
|
|
|
|
@@ -203,30 +207,30 @@
|
|
|
|
|
|
| АСПЕКТ | ОБЪЯСНЕНИЕ |
|
|
|
|:-----------------:|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
|
-| Онтология | Практический тип — не шаблон, а форма сущего в практике. Если в практике номер всегда уникален и присваивается автоматически, то такое значение — часть его бытия, а не внешнее условие. Контекст не может переопределить базовый тип. |
|
|
|
-| Единство формы | Если ПользовательНомер используется в 10 структурах — не нужно 10 раз писать `@уникально`. Нарушение — на уровне типа, а не контекста. |
|
|
|
-| Безопасность | Система гарантирует уникальность и обязательность на уровне типа, а не доверяет типу "не забыть". |
|
|
|
-| Эволюция практики | Если правило изменится (например, номер перестанет быть авто-инкрементным), — меняется один атрибут в типе, а не в конкретном контексте. |
|
|
|
+| Онтология | Нуклон — не шаблон, а форма сущего в практике. Если в практике номер всегда уникален и присваивается автоматически, то такое значение — часть его бытия, а не внешнее условие. Контекст не может переопределить его кварк. |
|
|
|
+| Единство формы | Если ПользовательНомер используется в 10 атомах — не нужно 10 раз писать `@уникально`. Нарушение — на уровне нуклона, а не контекста. |
|
|
|
+| Безопасность | Система гарантирует уникальность и обязательность на уровне нуклона, а не доверяет нуклону. "не забыть". |
|
|
|
+| Эволюция практики | Если правило изменится (например, номер перестанет быть авто-инкрементным), — меняется один атрибут в нуклоне, а не в конкретном контексте. |
|
|
|
|
|
|
### Принципы проектирования в prolet
|
|
|
|
|
|
-- Тип несёт свои нормы: `@обязательно`, `@уникально`, `@авто-инкремент`, `@умолчание` — определяются в (тип ...)
|
|
|
-- Структура — композиция, а не конфигурация: она не задаёт правила, а использует уже заданные
|
|
|
-- Свойства в структуре — только контекстные: например, `@источник`, `@момент`, `@ответственный`, но не свойства базового типа
|
|
|
-- Повторное указание атрибутов типа в структуре — избыточно и запрещено, но не запрещены свойства самого свойства (свойство структуры рассматривается как тип на своём уровне)
|
|
|
-- Тип — со всеми своими атрибутами, законченная форма сущего, пригодная к использованию в любой структуре
|
|
|
+- Нуклон несёт свои нормы: `@обязательно`, `@уникально`, `@авто-инкремент`, `@умолчание` — определяются в (нуклон ...)
|
|
|
+- Атом — композиция нуклонов, а не конфигурация: она не задаёт правила, а использует уже заданные
|
|
|
+- Свойства в атоме — только контекстные: например, `@источник`, `@момент`, `@ответственный`, но не свойства кварков
|
|
|
+- Повторное указание свойств типа в атоме — избыточно и запрещено, но не запрещены свойства самого свойства (свойство атома рассматривается как нуклон на своём уровне)
|
|
|
+- Нуклон — со всеми своими атрибутами, законченная форма сущего, пригодная к использованию в любом атоме
|
|
|
|
|
|
-## Форма 3: типаж — тип как отношение
|
|
|
+## Форма 3: спецификация — тип как отношение
|
|
|
|
|
|
```prolet
|
|
|
-(типаж Хранилище
|
|
|
+(спец Хранилище
|
|
|
@_док "Абстракция работы с хранилищем"
|
|
|
- (Нов (ХранилищеИмя имя): Результат Хранилище)
|
|
|
+ (Нов (ХранилищеИмя имя) Результат Хранилище)
|
|
|
@_док "Создаёт новое именованное хранилище"
|
|
|
- (ПолучФайл (ИмяФайла имя): Результат Спис.Байт)
|
|
|
+ (ПолучФайл (ИмяФайла имя) Результат СписБайт)
|
|
|
@_док "Читает файл с диска")
|
|
|
(ЗаписатьФайл (ИмяФайла имя
|
|
|
- Спис.Байт данные): Результат Бул @мут)
|
|
|
+ СписБайт данные) Результат ЕслиОк @мут)
|
|
|
@_док "Записывает файл на диск")
|
|
|
(ЗакрытьХранилище)
|
|
|
)
|
|
|
@@ -235,20 +239,20 @@
|
|
|
(хран ПолучФайл "test.txt")
|
|
|
```
|
|
|
|
|
|
-Типаж определяется не сущностью, а связями — как в диалектике.
|
|
|
+Спецификация определяется не сущностью, а связями — как в диалектике.
|
|
|
|
|
|
-- типаж — объявляет форму взаимодействия, а не математическую сигнатуру
|
|
|
+- спецификация — объявляет форму взаимодействия, а не математическую сигнатуру
|
|
|
- Каждое действие — глагол, отражающий практику
|
|
|
-- Параметры: `(%Тип %имя %Тип %данные)` — именованные, ссылаются на типы
|
|
|
-- Возврат: (%Результат %Тип) — структура, отражающая результат практики
|
|
|
+- Параметры: `(%Тип %имя %Тип %данные)` — именованные, ссылаются на нуклоны и атомы
|
|
|
+- Возврат: (%Результат %Тип) — атом, отражающий результат практики
|
|
|
- Возвращаемый результат может отсутствовать
|
|
|
-- Все типы в типаже — практические, определённые через (тип, структ, ...)
|
|
|
-- @_док и др. атрибуты — не обязательны для каждого метода и типажа, но можно потребовать обязательность на уровне проекта или конкретного действия
|
|
|
-- Типаж не содержит реализации — только действия с параметрами и возвращаемые значения
|
|
|
+- Все нуклоны и атомы в спецификации — практические, кварки запрещены, определённые через (нуклон, атом, ...)
|
|
|
+- @_док и др. свойства — не обязательны для каждого метода и спецификации, но можно потребовать обязательность на уровне проекта или конкретного действия
|
|
|
+- Спецификация не содержит реализации — только действия с параметрами и возвращаемые значения
|
|
|
|
|
|
## Онтологическая иерархия типов
|
|
|
|
|
|
-> 💡 Это — спираль развития, а не лестница. Каждый новый тип — не просто добавление, а результат борьбы и единства противоположностей.
|
|
|
+> 💡 Это — спираль развития, а не лестница. Каждый новый уровень — не просто добавление, а результат борьбы и единства противоположностей.
|
|
|
|
|
|
```mermaid
|
|
|
flowchart LR
|
|
|
@@ -256,13 +260,14 @@ subgraph Практика
|
|
|
direction TB
|
|
|
Субъект --> Цели
|
|
|
Цели --> Задачи
|
|
|
- Задачи --> Атрибуты
|
|
|
+ Задачи --> Свойства
|
|
|
end
|
|
|
subgraph prolet
|
|
|
direction TB
|
|
|
- Типажи --> Структуры
|
|
|
- Структуры --> Типы
|
|
|
- Типы --> БазовыеТипы
|
|
|
+ Спецификации --> Атомы
|
|
|
+ Спецификации --> Нуклоны
|
|
|
+ Атомы --> Нуклоны
|
|
|
+ Нуклоны --> Кварки
|
|
|
end
|
|
|
|
|
|
subgraph СинтезАппарат
|
|
|
@@ -278,8 +283,8 @@ prolet --> СинтезАппарат
|
|
|
|
|
|
## Практические гарантии онтологии
|
|
|
|
|
|
-- Нет "голых" примитивов в публичных типажах.
|
|
|
-- Все типажи — документированы, семантически обогащены.
|
|
|
+- Нет "голых" примитивов в публичных спецификациях.
|
|
|
+- Все спецификации — документированы, семантически обогащены.
|
|
|
- Переход от простого к сложному — не волевой, а мотивированный практикой.
|
|
|
- Форма — не обязательна, но поощряется в крупных системах.
|
|
|
|
|
|
@@ -288,7 +293,7 @@ prolet --> СинтезАппарат
|
|
|
- предложенная онтология отрицает метафизику примитивов,
|
|
|
- Разрешает противоречие между простым и сложным,
|
|
|
- Снимает противоречие в универсальной форме,
|
|
|
-- Делает типаж не абстрактной сущностью, а категорией бытия, движения и отношения.
|
|
|
+- Делает спецификацию не абстрактной сущностью, а категорией бытия, движения и отношения.
|
|
|
|
|
|
Это — не просто система типов, это — модель познания мира:
|
|
|
|