O interpretador PHP, uma linguagem de script de uso geral especialmente adequada ao desenvolvimento web.
mattwparas/steel
Um dialeto de Scheme extensível e incorporável, implementado em Rust, com REPL independente e VM de bytecode.
- Estrelas
- 2,629
- Forks
- 143
- Issues abertas
- 87
- Último commit
- anteontem
O que é?
Steel é um interpretador de Scheme escrito em Rust que pode funcionar como interpretador e REPL independente ou ser incorporado a aplicações Rust. A linguagem é implementada como uma máquina virtual de bytecode e é, em grande parte, compatível com R5RS, com suporte a R7RS em desenvolvimento.
A linguagem oferece suporte a módulos usando require e provide, no estilo do Racket, além de macros syntax-rules e syntax-case. Também inclui contratos de ordem superior e estruturas de dados imutáveis integradas, como listas, vetores, hashmaps e hashsets.
Funções e structs nativas de Rust podem ser disponibilizadas ao código Steel por meio de embedding ou FFI. O projeto também inclui um gerenciador de pacotes, um servidor de linguagem e uma biblioteca padrão. Como ainda está na versão pré-1.0, a API pode mudar.
Recursos principais
- 01Scheme, em grande parte compatível com R5RS, implementado como uma máquina virtual de bytecode
- 02Sistema de módulos com require e provide, semelhante ao do Racket
- 03Suporte às macros syntax-rules e syntax-case
- 04Embedding e FFI para chamar funções e structs nativas de Rust
- 05Contratos de ordem superior e listas, vetores, hashmaps e hashsets imutáveis integrados
Casos de uso
- Adicionar uma linguagem de script a uma aplicação Rust
- Aprender ou experimentar Scheme e o design de interpretadores
- Escrever scripts de configuração ou extensão que chamem código Rust
Início rápido
- 1
Instale Rust (necessário para compilar o Steel)
- 2
Clone o repositório
- 3
Execute o REPL com cargo
cargo run
Antes de usar
- A API ainda está antes da versão 1.0 e pode mudar a qualquer momento.
- A compatibilidade com R5RS é parcial: falta let-syntax e o suporte a R7RS ainda está em desenvolvimento.
Em coleções
Tópicos
Perguntas frequentes
- O que é steel?
- Um dialeto de Scheme extensível e incorporável, implementado em Rust, com REPL independente e VM de bytecode. Steel é um interpretador de Scheme escrito em Rust que pode funcionar como interpretador e REPL independente ou ser incorporado a aplicações Rust. A linguagem é implementada como uma máquina virtual de bytecode e é, em grande parte, compatível com R5RS, com suporte a R7RS em desenvolvimento.
- steel é gratuito? Qual é a licença?
- steel é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- steel ainda é mantido?
- Manutenção ativa. O último commit de steel foi em 22 de out. de 2026.
- Para que posso usar steel?
- Adicionar uma linguagem de script a uma aplicação Rust Aprender ou experimentar Scheme e o design de interpretadores Escrever scripts de configuração ou extensão que chamem código Rust
- Como instalar steel?
- Instale Rust (necessário para compilar o Steel) Clone o repositório Execute o REPL com cargo: cargo run
- Onde consigo steel?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/mattwparas/steel
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
GNU Emacs é um editor de texto extensível, personalizável e autodocumentado, com atualização em tempo real e baseado em um interpretador de Emacs Lisp.
Ferramenta de linha de comando e linguagem de consulta como jq para selecionar, filtrar e transformar arquivos Markdown.
O repositório principal do código-fonte da linguagem Rust, com o compilador, a biblioteca padrão e a documentação.
Sway é uma linguagem de programação inspirada em Rust para escrever smart contracts na blockchain Fuel.
Engine JavaScript ECMAScript 5.1 escrita em Go puro para incorporar a execução de JS em aplicações Go.