Интерпретатор PHP — языка сценариев общего назначения, особенно подходящего для веб-разработки.
mattwparas/steel
Встраиваемый и расширяемый диалект Scheme на Rust с отдельными REPL и байткодной виртуальной машиной.
- Звёзды
- 2,629
- Форки
- 143
- Открытые issues
- 87
- Последний коммит
- позавчера
Что это?
Steel — интерпретатор Scheme на Rust, который можно запускать отдельно как интерпретатор с REPL или встраивать в приложения на Rust. Язык реализован как байткодная виртуальная машина и в основном соответствует R5RS; поддержка R7RS находится в разработке.
В языке есть модули с require и provide по аналогии с Racket, а также макросы syntax-rules и syntax-case. Кроме того, предусмотрены контракты высшего порядка и встроенные неизменяемые структуры данных: списки, векторы, hashmap и hashset.
Нативные функции и структуры Rust можно предоставлять коду Steel через встраивание или FFI. В проект также входят менеджер пакетов, языковой сервер и стандартная библиотека. Проект пока не достиг версии 1.0, поэтому API может измениться.
Ключевые возможности
- 01Scheme, в основном совместимый с R5RS и реализованный как байткодная виртуальная машина
- 02Система модулей с require и provide, аналогичная Racket
- 03Поддержка макросов syntax-rules и syntax-case
- 04Встраивание и FFI для вызова нативных функций и структур Rust
- 05Контракты высшего порядка и встроенные неизменяемые списки, векторы, hashmap и hashset
Сценарии использования
- Добавление языка скриптов в приложение на Rust
- Изучение Scheme и устройства интерпретаторов или эксперименты с ними
- Написание скриптов конфигурации или расширений, которые вызывают код на Rust
Быстрый старт
- 1
Установите Rust (необходим для сборки Steel)
- 2
Клонируйте репозиторий
- 3
Запустите REPL с помощью cargo
cargo run
Что важно знать
- API ещё не достигла версии 1.0 и может измениться в любой момент.
- Соответствие R5RS неполное: let-syntax отсутствует, а поддержка R7RS всё ещё находится в разработке.
В подборках
Темы
Частые вопросы
- Что такое steel?
- Встраиваемый и расширяемый диалект Scheme на Rust с отдельными REPL и байткодной виртуальной машиной. Steel — интерпретатор Scheme на Rust, который можно запускать отдельно как интерпретатор с REPL или встраивать в приложения на Rust. Язык реализован как байткодная виртуальная машина и в основном соответствует R5RS; поддержка R7RS находится в разработке.
- steel можно использовать бесплатно? Какая у него лицензия?
- steel распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- steel всё ещё поддерживается?
- Активно поддерживается. Последний коммит в steel — 22 окт. 2026 г..
- Для чего можно использовать steel?
- Добавление языка скриптов в приложение на Rust Изучение Scheme и устройства интерпретаторов или эксперименты с ними Написание скриптов конфигурации или расширений, которые вызывают код на Rust
- Как установить steel?
- Установите Rust (необходим для сборки Steel) Клонируйте репозиторий Запустите REPL с помощью cargo: cargo run
- Где скачать steel?
- Исходный код и инструкции по установке — на GitHub: https://github.com/mattwparas/steel
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
GNU Emacs — расширяемый, настраиваемый и самодокументируемый текстовый редактор с отображением в реальном времени, построенный на интерпретаторе Emacs Lisp.
Инструмент командной строки и язык запросов в духе jq для выборки, фильтрации и преобразования файлов Markdown.
Основной репозиторий исходного кода языка Rust: компилятор, стандартная библиотека и документация.
Sway — язык программирования в духе Rust для написания смарт-контрактов в блокчейне Fuel.
Движок JavaScript на чистом Go с поддержкой ECMAScript 5.1 для встраивания выполнения JS-кода в приложения на Go.