Ниже следуют рассуждения о сущности виртуальной машины для диалектического языка, которая должна соответствующим образом транслировать все контексты на уровень исполнения. Такая виртуальная машина, которая снимает противоречие различных аппаратных архитектур. Какими свойствами должна обладать такая виртуальная машина чтобы язык prolet мог перенести на неё свои возможности без потери смыслов?
Виртуальная машина передаёт воздействие орудия труда на предмет труда, границу между языком как инструментом описания реальности и машиной реализующей это описание реальности, в диалектике конкретного.
Какова должна быть виртуальная машина (ВМ), чтобы диалектически воплощать prolet в железе?
Ответ — не технический, а философско-материалистический:
IL для ВМ (и сама ВМ) в такой постановке вопроса неизбежен, но не как технический костыль, а как необходимый этап изменения мира для развития вычислительной формы и приведение её в действие.
Противоречие: язык vs аппаратура
Без посредника, трансформирующего переход от широкого к конкретному — нет единства, нет перехода от формы описания к форме действия.
Решение: IL как продолжение языка и переход к железу
Он — синтез:
Это — переход от описания к действию:
prolet (как инструмент) → IL (форма-посредник) → машинный код (исполнение) → но на новом уровне — с сохранением смысла prolet.
IL должен быть не просто набором инструкций, а отражением онтологии prolet иными средствами, от материалистического описания к практическому действию.
Каждый атомарный контекст имеет однозначное, минимальное отражение в IL
IL-инструкции — атомарны в рамках контекста ВМ, не могут быть прерваны
IL не зависит от архитектуры, ОС, компилятора
IL может расширяться, но только через синтез атомарных контекстов, а не хаос интегрированного движения
IL должен быть понятен человеку — как чертёж завода
По IL можно понять, как работает prolet
Каждый контекст prolet → одна или несколько IL-инструкций, но без потери смысла.
(асм (...))
(асм
(сохр x стек)
(// Поместить значение в стек)
(// Прямое сравнение с константой)
(сравнить рег0 == 10)
(// Переход по условию на метку)
(ЕслиНе рег0 ноль То метка1)
(// Порядок инструкций — порядок времени)
(рег0 уст 45)
(сохр рег0 n)(// Регистр ничего не знает про память)
(загр v рег0)(// Про памят ьи регистр знает декодер команд)
(// Организация стекового кадра)
(вызов прц1)
(адр прц1 сохр стек)
(вызов прц2)
(извл стек рег0)(// Извлечение результат)
(влож рег0 стек)(// Помещение результат)
(// Передача управления)
(авария 4)
(вектор рег0) (// Маскируемое прерывание)
)
IL — не потеря смысла, а его трансляция в форму, пригодную для машинной практики.
ВМ — не имитация, не "виртуальность" в идеалистическом смысле, а материальная система, созданная человеком, чтобы преодолеть противоречие между разными формами бытия железа.
Диалектические задачи ВМ -- снять противоречие между:
Поддерживает множество архитектур, но через единую модель исполнения
ВМ — не абстракция, а процесс в памяти и на процессоре
IL — отражение описания процессов, машинный код — его материализация
Новые инструкции IL добавляются не по воле, а по необходимости практики
Реализует принципы владения prolet: нет случайного доступа
Поддерживает точный учёт времени выполнения — как в диалектике, развитие — через время
Не маскирует сбои, а фиксируют как объективные несоответствия между действием и условиями его выполнения.
Выбор смешанной модели — не потому что она "популярна", а потому что она диалектически отражает структуру prolet:
(знач)(уст переменная)(если ...)Регистры, как необходимость эффективного исполнения
(асм
(адр х стек)(// На стэк отправить ссылку на х)
(влож рег0 стек) (// На стэк значение регистра)
(влож у стек)(// На стэк содержимое значения)
(извл стек рег0)(// Со стека -- значение рег0)
(извл стек _)(// Вытолкнуть с стека)
(извл стек х)(// Со стека -- значение х)
(слож рег1 рег0)(// Сложить рег1 и рег0 с результатом в рег0)
(возврат) (// Возврат из функции)
)
::: info Это — не ассемблер, это — чертёж диалектического процесса, выраженный иными средствами.
:::
ВМ — не анархия, а организованная система:
Это — не идеалистическая "свобода", где текущий процесс эксплуатирует ресурсы процесса-неудачника, это — плановая экономика вычислений.
prolet требует в виде среды действия IL и ВМ, но не как технические утилиты, а как необходимые формы развития:
Это — не идеализм, это — единство смысла и действия, где:
::: success ВМ — обеспечивает предсказуемое распределение ресурсов на основе правил, заданных практикой, воплощая в результате труда его производительные силы.
:::