Проект pon — это JIT и AoT компилятор с рантаймом для Python 3.14, написанный на Rust. В нём нет ни интерпретатора, ни байткода: каждый модуль парсится через ruff parser, понижается до единого IR и компилируется в машинный код через Cranelift. Либо just-in-time внутри процесса (pon run), либо ahead-of-time в самостоятельный исполняемый файл (pon build).
Памятью управляет сборщик мусора Green Tea, а не подсчёт ссылок. Корректность проверяется побайтовым дифференциальным тестированием против CPython v3.14.0. Конечная цель — стать bun/V8 для Python: рантайм, который проходит тесты CPython, имеет многоуровневый JIT быстрее CPython, умеет собирать сингл-бинари и включает батарейки вроде пакетного менеджера и тулинга прямо из коробки. Проект в активной разработке.
Оба режима (run и build) выводят те же байты, что и CPython. Это не просто цель, а условие прохождения тестового набора. pon run и pon build используют один IR и общие pon_* хелперы. Объектная модель — это разметка кучи CPython без заголовка refcount. Ошибки передаются через ABI как NULL-сентинелы, без раскрутки стека. Интегралы — произвольной точности (num-bigint за PyLong), быстрая тэгированная малая целочисленность только готовится.
Тиринг двухуровневый: tier-0 компилирует всё боксом без тип-фидбека, это baseline. Горячие функции перекомпилируются на фоновом потоке, работающие циклы переходят на оптимизированный код через on-stack replacement. GC (Green Tea) владеет всеми объектами Python, tier-0 использует консервативное сканирование стека, а typed-tier — точные Cranelift user stack maps.
Корректность закреплена дифференциально: модуль считается пройденным, только если pon выдаёт побайтово идентичный вывод с CPython 3.14.0. Наборы тестов ратифицированы в файлы пола, падение ниже пола ломает CI. Сейчас под JIT проходят 209 модулей, 172 из них работают и после AoT-компиляции.
Всё, что пока не доделано — это полный набор тестов CPython, достройка стандартной библиотеки (_io, os, json, datetime, importlib и т.д.), производительностные ратификации (TLAB allocation, float unboxing, dict fast paths и т.д.) с целью геомена ≥5× быстрее CPython, а также работа над no-GIL/свободно-поточной средой. Известные пробелы в языке закрепляются ратифицированными наборами тестов, а не этим ридми.