Open
Description
Inspired by the general training list (which you should go through first), I've decided to centralize a list of resources I consider helpful for Haskell backend devs. This list is open to suggestions, of course, and it's not yet complete. Also, some of the items on the list need more thorough reviewing.
Theoretical Foundations
- Matching Logic
- One-Path Reachability Logic
- All-Path Reachability Logic
- Matching mu-Logic
- Introduction to Unification (should review better)
- Associative-Commutative Rewriting on Large Terms (should review better)
Note: don't worry about going into Applicative Matching Logic (which is used in the newer papers, like Matching Logic Explained); the Kore language is based on matching mu-logic;
Design Decisions:
- The Syntax of Kore
- The All-Path Reachability Algorithm
- Checking Implications in Reachability Proofs
- The Encoding of Function Definition Rules
- Translating Predicates to SMT (probably needs updating)
Presentation: A General Overview of the Haskell Backend
TODO: add sections on necessary Haskell knowledge (profiling, important packages like cofree, co-log, recursion schemes etc.)