Efen — компилируемый язык, в котором классы, стратегии, представления данных и другие высокоуровневые механизмы могут определяться и преобразовываться кодом времени компиляции.
Репозиторий сейчас содержит проект языка и примеры. Наличие конструкции в документации не означает, что она уже реализована компилятором.
| Цель | Маршрут |
|---|---|
| Быстро понять язык | Карта документации → абстракции → классы |
| Разобраться в типах и памяти | Типы и данные → ownership → управление памятью |
| Расширить поведение типа | Контракты → interfaces → стратегии |
| Писать метапрограммирование | Аспекты → Compile-time API → метафункции |
| Понять toolchain | Режимы компиляции → диалекты → Amber |
| Найти определение термина | Словарь Efen |
| Понять принципы синтаксиса | Философия языка |
| Читать внешние исследования | Исследования |
Полный тематический каталог и дополнительные маршруты находятся в карте документации.
Efen source
↓ frontend
Amber HIR
↓ analysis and transformations
backend profile
├─ MLIR / LLVM
├─ Cranelift
└─ other compatible backends
Efen определяет исходную семантику. Amber задаёт общий HIR, стадии готовности, анализ и границы frontend/backend. Начальная точка для сопоставления языка с HIR — путеводитель Amber.
- Текущая модель языка:
docs/efen/. - Термины языка:
docs/efen/glossary.md. - Принятые межрепозиторные решения и план реализации ведутся в Amber: decision log и plan.
- Актуальная очередь ещё не решённых вопросов поверхности Efen ведётся в
dev/language-design-questions.md; пометка «решено» у Q01–Q55 закрывает сформулированные решения; следующая очередь содержит ещё не оформленные темы аудита.
Историческое обсуждение и review не переопределяют текущие языковые документы.