Rust asynchrone alimente un nouveau compilateur Scheme : présentation de scheme-rs

2025-02-18

Matthew Plant présente scheme-rs, son implémentation de Scheme qui tire parti de la puissance de Rust asynchrone pour résoudre ses temps de compilation lents et son expérience de débogage difficile. scheme-rs utilise la norme R6RS et offre une interopérabilité transparente avec Rust asynchrone, facilitant le collage de code et le débogage. L'auteur envisage également un futur langage, Gouki, basé sur scheme-rs, combinant le système de macros de Scheme et le système de types de Rust pour une expérience de programmation plus puissante. Bien qu'il soit encore en cours de développement, scheme-rs possède des fonctionnalités de base et l'auteur prévoit d'ajouter des fonctions intégrées et d'optimiser les performances de compilation.

Lire plus
Développement

Collecte de cycles concurrente : pointeurs intelligents avec ramasse-miettes en Rust pour Scheme

2024-12-13

Cet article détaille la mise en œuvre d’un collecteur de cycles concurrents en Rust pour les pointeurs intelligents avec ramasse-miettes (Gc) dans un interpréteur Scheme. Gc fonctionne de manière similaire à Arc>, prenant en charge la mutabilité interne, le clonage et l’envoi entre threads. L’article explique en détail la mise en œuvre de Gc, y compris la mutabilité interne sécurisée pour les threads à l’aide de sémaphores et de verrous en lecture/écriture, ainsi que les détails de la mise en œuvre de la collecte de cycles concurrente basée sur l’algorithme de Bacon et Rajan. Cela inclut le trait Trace, la détection de cycles et les mécanismes de gestion des modifications concurrentes.

Lire plus
Développement Concurrence