Тема: Абстрактный объектный вычислитель (машина платформы Кантора)
При разработке платформы имеет смысл говорить о машине Кантора как о неком абстрактном исполнителе, являющимся идеальной вычислительной машиной.
Машина Кантора является высокоуровневой. В ее основе, по всей видимости, лежит язык/архитектура (?) формальных грамматик, что логично: платформа обобщения исходных текстов должна опираться на язык формальных грамматик.
Как вычислитель машина Кантора характеризуется:
Тремя командами: define, match и when (определение, сопоставление и ветвление, соответственно). Названия команд могут измениться.
Несколькими десятками статусов, используемых вместе с командами для кодирования понятий абстрактного мира (реализация, имя, блок, упорядоченность, группировка, выравнивание, агрегация, равноправность и пр.).
Бесконечным числом безразмерных (объектных) регистров.
Виртуальными стеками возвратов и данных, реализуемыми исполнительной средой. Стек данных также является объектным.
По всей видимости, бесконечным числом исполнительных потоков.
Наверное, самым большим отличием от других машин является отсутствие памяти. Обрабатываемые данные хранятся исключительно в объектных регистрах, обеспечивающих инкапсуляцию и фрактальность: любой регистр может быть разбит на бесконечное множество вложенных подрегистров (как в IA-32 AX делится на AH и AL).
Наверное, можно говорить, что объектная алгебра описывает операции над регистрами, будучи выраженной через команды и статусы.
Множество статусов чем-то похоже на ARM или некий супер-ARM в полном режиме, не thumb. При этом в Канторе команд всего 3, а регистры безразмерные.
Есть мнение, что малое число команд упростит реализацию частичных вычислений — команды должны работать не в скомпилированном коде, а в компиляторе. Меньше команд — проще компилятор. Реализация многочисленных статусов проще и ортогональней, поэтому на них ограничения нет.
С момента появления еще в 3OS концепции единого пространства данных хранение на линейных носителях выделено в особое пространство, обмен с которым происходит через диспетчер, обеспечивающий свертывание из регистров в линейные последовательности и развертывание при загрузке в регистры. Диспетчер будет использоваться в реализациях машины Кантора на существующих платформах и будет вполне традиционным: аллокатор/диспетчер кучи в ОЗУ и подсистемы сериализации для обмена с носителями длительного хранения и сетями. Реализации будут должным образом абстрагированы.
Добавлено 17.11.2018 в 9:14
Поскольку Георг Кантор не является разработчиком этой машины, ей нужно дать нейтральное название. Предлагается абстрактный объектный вычислитель или просто объектный вычислитель. Тема соответствующим образом переименована.
Уточнения и замечания по сути и используемой терминологии принимаются.