Updated and organized bibliography

This commit is contained in:
Brandon Dyck 2024-01-30 21:27:26 -07:00
parent 6877ffd2c2
commit 0b5c882b18

View File

@ -1,3 +1,5 @@
# Type theory
Krishnaswami, Neel. _Objects and Aspects: Row Polymorphism_. <https://web.archive.org/web/20180103031716/http://www.cs.cmu.edu/~neelk/rows.pdf>
Talks a little about recursive structural types with the μ fixpoint operator.
@ -27,6 +29,42 @@ Bidirectional type checking handles subtyping well, and here's why that matters.
Christiansen, David. "Bidirectional Typing Rules: A Tutorial". <https://davidchristiansen.dk/tutorials/bidirectional.pdf>
Bauer, Andrej. _The Programming Languages Zoo_. http://plzoo.andrej.com/
Peyton Jones, Simon. "A Quick Look at Impredicativity". <https://m.youtube.com/watch?v=ZuNMo136QqI>
Making impredicativity work better in a bidirectional type system.
# Concurrency
Masood, Faisal. " Project Loom: Lightweight Java Threads". <https://developers.redhat.com/blog/2019/06/19/project-loom-lightweight-java-threads>
Smith, Nathaniel J. "Notes on structured concurrency, or: Go statement considered harmful". <https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/>
Describes a structured concurrency system to avoid spaghetti threads.
# Implementation
Bauer, Andrej. _The Programming Languages Zoo_. <http://plzoo.andrej.com/>
Toy implementations of a bunch of simple programming languages with small, interesting feature sets.
Toyama, Yoga. "How to Implement the Perceus Reference Counting Garbage Collection". <https://hackernoon.com/how-to-implement-the-perceus-reference-counting-garbage-collection>
Implements Koka's functional-but-in-place mechanism for a different language.
Ağacan, Ömer Sinan. "Fast Polymorphic Record Access". <https://osa1.net/posts/2023-01-23-fast-polymorphic-record-access.html>
Might, Matt. "Closure Conversion: How to Compile Lambda". <https://matt.might.net/articles/closure-conversion/>
Might, Matt. "A-Normalization: Why and How". <https://matt.might.net/articles/a-normalization/>
Peterse, Yorick. "Pattern matching in Rust".< https://github.com/yorickpeterse/pattern-matching-in-rust>
Pattern matching and exhaustiveness checking algorithms implemented in Rust.
# Prior art
"Everything You Need to Know to Write Amulet". <https://amulet.works/tutorials/02-data.html>
Overview of a similar, abandoned language.
Rushing, Sam. "Irken compiler". <https://github.com/samrushing/irken-compiler>
A compiler for a language with a strikingly similar feature set and an s-expression syntax, written in Scheme with a C VM.
Leijen, Daan et al. "Koka language". <https://github.com/koka-lang/koka>