A collection of resources that should prove useful in understanding the design of Ribbon.
Contents
- Monoidal Rows Type System - Examining a simple prototype of the Ribbon type system.
External
This is a collection of both casual and academic resources collected while doing research for Ribbon.
Listing everything I’ve referenced in the design would be impossible, so the following are some highlights that are particularly well-written, informative, or otherwise inspiring.
- Abstracting Extensible Data Types or Rows By Any Other Name
- A Polymorphic Record Calculus and Its Compilation
- Generalized Evidence Passing for Effect Handlers
- Do Be Do Be Do
- Zero-cost Effect Handlers by Staging
- Typed Memory Management in a Calculus of Capabilities
- A Lightweight Formalism for Reference Lifetimes and Borrowing in Rust
- Alias Types for Recursive Data Structures
- System F-omega with Equirecursive Types for Datatype-Generic Programming
- Numbering Matters: First-Order Canonical Forms for Second-Order Recursive
- The Simple Essence of Algebraic Subtyping
- Basically every publication from the fabulous Daan Leijen
- How to compile pattern matching and various other works by Jules Jacobs
- Lisp in Small Pieces
- Let Over Lambda
- Fear of Macros
- Thunderseethe’s blog
- Ryan Brewer’s blog
- Colin James’ blog
- Max Bernstein also has a great collection of resources