Карта возможностей «Глагола»

Карта возможностей «Глагола»

Правда из реальных прогонов бэкендов — не ручная табличка. Каждая мишень — свой столбец. Генерируется тестом КартаПаритетаTest.

27возможностей языка
135 / 139Компилятор JVM
по примерам
118 / 139Транспилятор JS
4 долг · 17 вне платформы
0 / 139Компилятор WASM
планируется · WebAssembly (#110)
23 / 139Компилятор МК
Глагол→C · 97 долг подмножества
0 / 139Компилятор Эльбрус
планируется · CPU Эльбрус/Байкал
13%демо на «Глаголе»
цель 100% · вкладка «Демо-пример»
Возможность языка ИнтерпретаторJVMКомпиляторJVM · байткод Транспиляторбраузер · JSКомпиляторWASM · WebAssembly КомпиляторМК · Глагол→CКомпиляторЭльбрус · CPU РуководствоНавык
Арифметика и связывание10-арифметика.гл
Условия (если…то…иначе)9-условия.гл
Рекурсия13-рекурсия.гл
Списки14-списки.гл
Свободный порядок (падеж = роль)4-свободный-порядок.гл
Локальные связывания («где»)54-где.гл
Предикаты (да/нет)48-предикаты-да-нет.гл
Составные имена (ёлочки, синонимы)42-имена-составные.гл
Ленивость (вид глагола)6-строго-и-лениво.гл
Функции высшего порядка74-функции-высшего-порядка.гл
Типы данных (АТД)25-типы-данных.гл
Обработка ошибок (может быть/итог/попытка)76-итог.гл
Паника («брось»)78-паника.гл
Модель выполнения (подъём определений)79-модель-выполнения.гл
Родные тесты («проверь»)17-тесты.гл
Ввод с клавиатуры23-ввод.гл
Статические типы («типа»)68-статические-типы.гл
Java-интероп52-ява.гл
Записи (JVM-POJO)53-запись.гл
Методы записи (§4)56-метод-с-параметром.гл
Веб-возврат (сущность/список)81-веб-возврат.гл
Сущности + JPA (хранилище)57-хранилище.гл
Связи сущностей (@OneToMany…)60-связи.гл
Контроллеры (Spring REST)59-родной-контроллер.гл
Модульность (раздел/библиотека/служба)63-модуль-библиотека.гл
Слои (архитектура)66-слои.гл
Договор (DbC)65-договор.гл

— поддержано · — долг реализации (закрываемо на этой платформе, наведи — причина) · — вне платформы (природа мишени: нет JVM/Spring — не долг) · — планируется (бэкенд ещё не реализован) · — отсутствует.
Возможности — статус по показательному примеру. Мишени независимы: паритет требуется ВНУТРИ платформы (интерпретатор↔компилятор JVM); между платформами (JVM↔браузер↔МК) — только там, где возможность в природе мишени.
Столбец «МК» — единый (Глагол→C, ядро-независимо): один эмиттер, а конкретное ядро — деталь сборки. Проверен QEMU-дифф-тестом на Cortex-M0/M3/M4/M7/M33, RISC-V rv32 и ESP32-C3. Пока покрыто скалярное подмножество (числа, условия, печать) — оно расширяется вместе с типизацией.