runtimeverification / runtimeverification/haskell-backend

Training list

Open
#3,026 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

documentation
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
  1. Matching Logic
  2. One-Path Reachability Logic
  3. All-Path Reachability Logic
  4. Matching mu-Logic
  5. Introduction to Unification (should review better)
  6. 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:
  1. The Syntax of Kore
  2. The All-Path Reachability Algorithm
  3. Checking Implications in Reachability Proofs
  4. The Encoding of Function Definition Rules
  5. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.