Papers and Articles that influence the design of the compiler and runtime environment.
Standard ML of New Jersey (CS-TR-329-91); Appel
- A look inside a statically typed functional language implementation.
A New Backend for Standard ML of New Jersey (Draft); Farvardin, Reppy
- A recent report on SML/NJ moving its backend to LLVM.
- Rust compiler internals. What other compiler has such approachable docs?
- Definition of the rust language. Detailed descriptions of the grammar.
A critique of Standard ML; Appel
- An aggregated list of critiques about ML and thoughtful responses.
First impressions of Swift by the founder of Rust
- A critique of rust's range type. A great list of design problems to avoid.
- An accessible introduction to type theory and type checkers.
Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorphism; Dunfield, Krishnaswami
- A type inference algorithm. See also: implementations for Rust, JavaScript and Haskell.
A Unified Theory of Garbage Collection; Bacon
Programming with Regions in ML Kit
- A very different approach to memory allocation using lifetime analysis and very little GC activity.
Rust as a language for high performance GC implementation; Lin
Does the Bronze Garbage Collector Make Rust Easier to use?; Coblenz
Techniques for implementing garbage collection in a statically typed language without tagging data in memory.
- Runtime Tags Aren't Necessary; Appel
- Tag-Free Garbage Collection; Goldberg
- Tag-free Garbage Collection Using Explicit Type Parameters; Tolmach
Reference material for understanding and targeting WebAssembly.
MDN: Understanding WebAssembly text format - A good introductory walk-through of WebAssembly in its text form.
WebAssembly Reference Manual - An explanatory reference that compliments the spec.
WebAssembly Specification 1.1 - The official specification. Terse and contains little explanation.
Rust and WebAssembly - Practical techniques for working with WebAssembly using rust and cargo.
A Practical Guide to WebAssembly Memory
- A wasm-inspired IR format. It could make a good alternative compiler backend.
Writings that people interested in this project may also find interesting.
List of Research Inspired by Rust
- Various post-rust research in the 21st century
- Lots of ideas for what could be improved in future languages