runtimeverification / runtimeverification/haskell-backend
Training list
Nobody has claimed this yet.
- Dominant language
- Haskell
- Stars
- 224
- Forks
- 43
- PR merge metrics
- No merged PRs in 30d
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.)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by finding and reading the existing general training list, then review the linked theoretical-foundations and design-decision resources in this issue. Check the referenced docs paths, including docs/kore-syntax.md and the reachability, implication, function-rules, and translating-predicates documents. Done means the Haskell backend training resources are centralized, reviewed where possible, and the remaining TODO sections are addressed or clearly identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100