Pull to refresh

Доступен выпуск проекта RustPython 0.3, развивающего интерпретатор языка программирования Python, написанный на языке Rust. RustPython нацелен на обеспечение совместимости с CPython 3.11 и более новыми выпусками. Проект основал Shing Lyu, один из разработчиков движка Servo и участник перевода CSS-движка Firefox на компоненты, написанные на языке Rust. Для оценки текущего состояния разработки можно использовать web-интерфейс с интерпретатором RustPython, скомпилированным в WebAssembly. Код распространяется под лицензией MIT.

RustPython состоит из парсера кода на Python в абстрактное синтаксическое дерево (AST), компилятора AST в байткод и виртуальной машины для выполнения байткода. Для ускорения выполнения предоставляется начальная реализация JIT-компилятора, преобразующего python-функции в машинный код. Поддерживается компиляция RustPython в форму универсального WASI-модуля на WebAssembly, который может запускаться в различных операционных системах.

Проектом также предоставляются средства для интеграции кода на языке Python в проекты на языке Rust, без применения биндингов на основе CPython - RustPython позволяет встраивать Python-конструкции непосредственно в код на языке Rust и использовать Python в качестве языка скриптования в приложениях. Из проектов, уже использующих RustPython, отмечаются СУБД GreptimeDB, игровой движок pyckitup, игра Robot Rumble и linter Ruff.

Источник: OpenNET.


Tags:
Total votes 1: ↑1 and ↓0+1
Comments1

Articles