This repo is a collection of links to various papers, and as such, may go out of date intermittently as resources shuffle around the web. It would be greatly appreciated if people raise issues when these pdf's have dead links, as it helps us all maintain the most up to date set of resources. Additionally, you may find that the "set of links" approach is tedious. This is done to avoid any sort of licensing concerns. If anyone has a better idea of the implications (especially licensing) of hosting the actual papers, the end goal would ideally be to serve as a kind of library. Feel free to find me to discuss. Thanks, Emily.
- Notions of Computations over Monads
- Computational Lambda Calculus and Monads
- Monads for functional programming
- The essence of functional programming
- Semantics
- How to make ad hoc polymorphism less ad hoc
- Type Classes
- Lazy State Threads
- General State
- The Spineless Tagless G-machine
- An Exploration of the Design space of Type Classes
- A Generic Deriving Mechanism for Haskell
- True Sums of Products
- Functional Dependencies
- Rank-n Types
- Typing Haskell in Haskell
- Type Families
- Type Families pt. 2
- GADTs
- First Class Modules in Haskell
- Kind Promotion
- Stream Fusion. From Lists to Streams to Nothing at All
- Lambda Calculus with Types
- The Call by Need Lambda Calculus
- The Lazy Lambda Calculus
- Hindley-Milner Systems
- Generalized Hindley-Milner Systems
- System F with type equality coercion
- System FC with Kind Equality
- Theorems for Free
- Free theorems for TyCons
- Parametric Polymorphism
- Type Derivatives and Typed Holes
- Suggesting Valid Hole Fits
- Parametric HOAS
- Tutorial on Bidirectional Type Inference
- Tutorial Implementation of Dependent Types
- Pfenning's Notes on Bidirectional Type Inference
- EdK's
bound
Library Comparisons - Bidirectional Typechecking for Higher Rank Polymorphism
- Tutorial Implementation of Hindley-Milner
- De Bruijn Indices
- The Stitch Type Checker
- Boxes go Bananas