비동기 Rust 기반의 새로운 Scheme 컴파일러: scheme-rs 소개

2025-02-18

Matthew Plant는 느린 컴파일 시간과 어려운 디버깅 경험을 해결하기 위해 비동기 Rust의 성능을 활용한 Scheme 구현체인 scheme-rs를 소개합니다. scheme-rs는 R6RS 표준을 사용하며 비동기 Rust와의 원활한 상호 운용성을 제공하여 코드 결합 및 디버깅을 용이하게 합니다. 또한 저자는 scheme-rs를 기반으로 한 미래의 언어 Gouki를 구상하고 있으며, Scheme의 매크로 시스템과 Rust의 타입 시스템을 결합하여 더욱 강력한 프로그래밍 경험을 제공할 계획입니다. 아직 개발 중이지만 scheme-rs는 핵심 기능을 갖추고 있으며 저자는 향후 내장 함수 추가 및 컴파일 성능 최적화를 계획하고 있습니다.

더 보기
개발

병렬 순환 가비지 컬렉션: Rust를 사용한 Scheme의 가비지 컬렉션 스마트 포인터

2024-12-13

이 글에서는 Scheme 인터프리터 내의 가비지 컬렉션 스마트 포인터(Gc)를 위한 Rust에서의 병렬 순환 가비지 컬렉터 구현에 대해 자세히 설명합니다. Gc는 Arc>와 유사하게 동작하며 내부 가변성, 복제, 스레드 간 전송을 지원합니다. 이 글에서는 세마포어와 읽기/쓰기 잠금을 사용하여 스레드 안전한 내부 가변성을 구현하는 Gc 구현과 Bacon과 Rajan 알고리즘을 기반으로 하는 병렬 순환 가비지 컬렉션 구현 세부 정보를 자세히 설명합니다. 여기에는 Trace 트레이트, 순환 감지, 병렬 변경 처리 메커니즘이 포함됩니다.

더 보기