Rust 참고 문헌
이 문서는 Rust와 관련된 자료의 읽기 목록입니다. 여기에는 Rust의 설계에 한때 영향을 준 선행 연구와 Rust에 관한 출판물이 함께 포함되어 있습니다.
타입 시스템
- 별칭 매장(Alias burying) - 저희도 비슷한 것을 시도했다가 포기했습니다.
- External uniqueness is unique enough
- Macros that work together
- Making ad-hoc polymorphism less ad hoc
- Region based memory management in Cyclone
- Region Based Memory Management
- Safe manual memory management in Cyclone
- Skolem Normal Form
- Traits: composable units of behavior
- Uniqueness and Reference Immutability for Safe Parallelism
동시성
- A Java fork/join calamity - Java의 fork/join 라이브러리를 비판하는 글입니다. 특히 비엄격(non-strict) 계산에 작업 훔치기(work stealing)를 적용한 방식을 비판합니다.
- Algorithms for scalable synchronization of shared-memory multiprocessors
- Balanced work stealing for time-sharing multicores
- Contention aware scheduling
- Dynamic circular work stealing deque - Chase/Lev 덱(deque)입니다.
- Epoch-based reclamation.
- Language support for fast and reliable message-based communication in singularity OS
- Non-blocking steal-half work queues
- Reagents: expressing and composing fine-grained concurrency
- Scheduling multithreaded computations by work stealing
- Scheduling techniques for concurrent systems
- Singularity: rethinking the software stack
- The data locality of work stealing
- Thread scheduling for multiprogramming multiprocessors
- Three layer cake for shared-memory programming
- Work-first and help-first scheduling policies for async-finish task parallelism - 완전 엄격(fully-strict) 작업 훔치기보다 더 일반적인 방식입니다.
기타
Rust에 관한 논문
- Rust로 하는 GPU 프로그래밍: 시스템 수준 언어에서 고수준 추상화 구현하기. Eric Holk의 초기 GPU 연구입니다.
- 병렬 클로저: 오래된 아이디어의 새로운 변주
- 엄밀히 말해 Rust에 관한 것은 아니지만 nmatsakis가 작성했습니다.
- Patina: Rust 프로그래밍 언어의 형식화. Eric Reed가 작성한, 타입 시스템 일부에 대한 초기 형식화입니다.
- 경험 보고서: Rust를 사용한 Servo 웹 브라우저 엔진 개발. Lars Bergstrom이 작성했습니다.
- Rust로 제네릭 기수 트라이 구현하기. Michael Sproul의 학부 논문입니다.
- Reenix: Rust로 유닉스 계열 운영 체제 구현하기. Alex Light의 학부 논문입니다.
- HPC 환경에서 후보 프로그래밍 언어들의 성능 및 생산성 지표 평가. Florian Wilkens의 학사 학위 논문입니다. C, Go, Rust를 비교합니다.
- Nom: Rust로 작성된 바이트 지향, 스트리밍, 제로 카피 파서 컴비네이터 라이브러리. Geoffroy Couprie가 작성했으며, VLC를 위한 연구입니다.
- 그래프 기반 고차 중간 표현. Rust와 유사한 언어인 Impala로 구현된 실험적인 중간 표현(IR)입니다.
- 스텐실 코드의 코드 정제. Impala를 사용한 또 다른 논문입니다.
- fork-join 등을 활용한 Rust에서의 병렬화. Linus Farnstrand의 석사 학위 논문입니다.
- Rust를 위한 세션 타입. Philip Munksgaard의 석사 학위 논문입니다. Servo를 위한 연구입니다.
- 소유권은 절도다: Rust로 임베디드 OS를 구축한 경험 - Amit Levy 외
- You can’t spell trust without Rust. Aria Beingessner의 석사 학위 논문입니다.
- Rust-Bio: 빠르고 안전한 생물정보학 라이브러리. Johannes Köster
- Safe, Correct, and Fast Low-Level Networking. Robert Clipsham의 석사 학위 논문입니다.
- Formalizing Rust traits. Jonatan Milewski의 석사 학위 논문입니다.
- Rust as a Language for High Performance GC Implementation
- Simple Verification of Rust Programs via Functional Purification. Sebastian Ullrich의 석사 학위 논문입니다.
- 2017년답게 파서 작성하기 Pierre Chifflier, Geoffroy Couprie, Langsec Workshop 발표
- The Case for Writing a Kernel in Rust
- RustBelt: Securing the Foundations of the Rust Programming Language
- Oxide: The Essence of Rust. Aaron Weiss, Olek Gierczak, Daniel Patterson, Nicholas D. Matsakis, Amal Ahmed 공저입니다.