Тема: Мини-Кантор (2018)
Разрабатываемый прототип 0-го этапа носит название мини-Кантор (Mini Cantor) и будет включать в себя:
Подмножество ядра Кантора, реализующее машину Кантора как БД кода и играющую роль пакетного менеджера.
Компилятор переднего плана (front-end compiler) Халва-Паскаля.
Отекстовщик объектного кода в исходный текст на Канторе.
В 0-й версии ядро и Халва-Паскаль будут объединены в один исполнимый файл (Mini.exe). БД кода будет существовать только в памяти (in-memory database) во время работы компилятора и будет перестраиваться из исходников при каждом запуске.
Ядро Кантора реализует концепцию виртуальной объектно-ориентированной ОС, работающей в среде гостевой ОС и обеспечивающей контроль целостности наследования, полиморфизма и агрегации. Поскольку, согласно принятой теории, объектно-ориентированная ОС и объектно-ориентированная СУБД — одно и то же, ядро Кантора является СУБД и используется для организации БД кода.
Задачи у СУБД те же, что и у ядра ОС, плюс организация выборок через механизм объектной алгебры. Развитая реализация выборок понадобится для построения кода целевой точки в режиме make. (это гомоиконность?)
Развитие прототипа предполагает:
Постепенное расширение подмножества ядра до полноценной реализации.
Разработку сериализуемого пространства данных для организации БД кода на двоичных файлах (режим mount).
Вынос Халва-Паскаля в загружаемый модуль (плагин).
Разработку компилятора переднего плана Кантора. (в виде загружаемого модуля?)
В какой-то момент мини-Кантор станет Кантором, точные условия пока не определены.