Автор проекта выпустил Aiki Alpha 3 и опубликовал обзор изменений реализации. Из материала читатель узнает об изменениях и архивах выпуска с тегом v0.4.0-alpha-36 в GitHub release.
Alpha 3 сокращает аллокации, накладные расходы вызовов и обход AST, сохраняя семантику языка.
Единый точный числовой тип теперь выбирает внутри компактные целые и рациональные числа, точные конечно-двоичные формы или рациональные числа произвольной точности. Неизменяемые списки могут переключаться между плоской, frontier- и persistent/forked-формами без раскрытия этого выбора программам.
Профилирование и покрытие теперь используют общую сеть наблюдения за выполнением. Выпуск остаётся альфа-версией, поэтому синтаксис, библиотеки, инструменты и детали реализации ещё могут измениться.
Проверка утверждений:
- Автор проекта опубликовал материал типа release о выпуске Aiki Alpha 3: читателю он даёт обзор изменений реализации и сообщает, где доступны архивы выпуска. (подтверждено первоисточником: доказательство; «Aiki Alpha 3 is out.»)
- Выпуск помечен тегом v0.4.0-alpha-36 и доступен через GitHub release. (подтверждено первоисточником: доказательство; «Tagged v0.4.0-alpha-36 and available from the GitHub release .»)
- Alpha 3 удешевляет выполнение за счёт сокращения аллокаций, накладных расходов вызовов, обхода AST, реализации литералов, работы парсера и наблюдения за неизменяемыми строками, сохраняя семантику языка. (подтверждено первоисточником: доказательство; «Runtime realization is much cheaper. Calls, environments, argument frames, AST traversal, literal realization, parser bookkeeping, and immutable string observation were all tightened. The intent is semantic invariance: the language remains the same while the machinery underneath it does less work.»)
- Единый точный числовой тип Aiki теперь может внутри использовать компактные целые и рациональные числа, точные конечно-двоичные формы или рациональные числа произвольной точности. (подтверждено первоисточником: доказательство; «Exact numbers now have adaptive physical representations. Aiki still presents one exact number type. Internally, values can use compact integers, compact rationals, exact finite-binary forms, or arbitrary-precision rationals as appropriate. Representation is an implementation choice; exactness is the language rule.»)
- Неизменяемые списки получили адаптивную реализацию, способную переключаться между плоской, frontier- и persistent/forked-формами без раскрытия этого выбора программам. (подтверждено первоисточником: доказательство; «Persistent lists received the same treatment. Lists remain immutable values, but their realization can adapt between flat, frontier, and persistent/forked forms without exposing those choices to programs.»)
- В реализованную поверхность языка вошли правильные хвостовые вызовы и ленивые and/or, при этом остальные бинарные выражения сохраняют строгое вычисление слева направо. (подтверждено первоисточником: доказательство; «Proper tail calls and lazy logical control are now part of the realized language surface. and and or evaluate their right operand only when required. Other binary expressions still evaluate strictly left to right; Aiki still has no conventional operator-precedence hierarchy.»)
- Профилирование перестроено в единую сеть наблюдения, учитывающую связи вызывающего и вызываемого кода, пересечения границ реализации, число и объём аллокаций, а также включительную и исключительную стоимость хоста. (подтверждено первоисточником: доказательство; «Profiling was rebuilt as a single observation network. It can account for caller/callee relationships, runtime-layer and implementation-boundary crossings, allocation counts and bytes, inclusive and exclusive host cost, and selected realization categories.»)
- Покрытие использует ту же сеть наблюдения: статическая модель определяет покрываемые участки, а динамические попадания поступают из общей сети, а не из отдельного механизма учёта. (подтверждено первоисточником: доказательство; «Coverage now shares that same execution evidence. Coverable sites come from a static model of the program and AST; dynamic hits come from the observation network rather than from a second independent runtime accounting mechanism.»)
- Математические модули разделены по семантической роли: math/native отвечает за точную семантику, math/ffi ускоряет точные floor, ceil и modulo, а math/approx содержит явно приближённые sin, cos и sqrt. (подтверждено первоисточником: доказательство; «The math surface is now separated by semantic role. math/native is the exact semantic authority and bare math resolves there. math/ffi accelerates the exact floor , ceil , and modulo surface. math/approx contains explicitly approximate sin , cos , and sqrt rather than weakening Aiki’s number model.»)
- Эксперименты вынесены из основного репозитория в отдельный aiki-experiments, чтобы использовать Aiki извне как независимые интеграционные и нагрузочные поверхности. (подтверждено первоисточником: доказательство; «That separation is intentional. The experiments use Aiki from the outside and act as independent integration and stress surfaces rather than becoming part of the language implementation.»)
- Выпуск остаётся альфа-версией: синтаксис, библиотеки, инструменты и детали реализации ещё могут измениться. (подтверждено первоисточником: доказательство; «Aiki remains an alpha. Syntax, libraries, tooling, and implementation details may still change.»)
- Перемещаемые архивы выпуска доступны для Linux, macOS и Windows на amd64. (подтверждено первоисточником: доказательство; «Distribution Relocatable Linux, macOS, and Windows amd64 releases»)
Первоисточники:
оценка 56.9 · тип release · ревизия 1 · истории st-3l1zoe