Rust assíncrono alimenta um novo compilador Scheme: Apresentando o scheme-rs

2025-02-18

Matthew Plant apresenta o scheme-rs, sua implementação Scheme que utiliza o poder do Rust assíncrono para resolver seus tempos de compilação lentos e a experiência de depuração desafiadora. O scheme-rs usa o padrão R6RS e oferece interoperabilidade perfeita com o Rust assíncrono, facilitando a colagem de código e a depuração. O autor também prevê uma linguagem futura, Gouki, construída sobre o scheme-rs, combinando o sistema de macros do Scheme com o sistema de tipos do Rust para uma experiência de programação mais poderosa. Embora ainda esteja em desenvolvimento, o scheme-rs possui funcionalidades essenciais e o autor planeja adicionar funções internas e otimizar o desempenho da compilação.

Leia mais
Desenvolvimento

Coleta de Lixo de Ciclos Concorrentes: Ponteiros Inteligentes com Coleta de Lixo em Rust para Scheme

2024-12-13

Este artigo detalha a implementação de um coletor de lixo de ciclos concorrentes em Rust para ponteiros inteligentes com coleta de lixo (Gc) dentro de um interpretador Scheme. Gc funciona de forma semelhante a Arc>, suportando mutabilidade interna, clonagem e envio entre threads. O artigo explica detalhadamente a implementação de Gc, incluindo mutabilidade interna segura para threads usando semáforos e bloqueios de leitura/escrita, e os detalhes de implementação da coleta de lixo de ciclos concorrentes com base no algoritmo de Bacon e Rajan. Isso inclui o traço de atributo, detecção de ciclos e mecanismos para lidar com modificações concorrentes.

Leia mais
Desenvolvimento Coleta de Lixo Concorrência