Skip to content

Resources

Thomas Tuegel edited this page Jan 5, 2021 · 6 revisions

Resources

This is a list of resources (readings, talks, etc.) for Kore developers.

General

Kore developers should have a solid working knowledge of modern Haskell.

  • Haskell Study Plan. "This guide is an opinionated list of resources for learning Haskell. It is aimed at more experienced programmers that would like a denser Haskell tutorial."
  • What I Wish I Knew When Learning Haskell. "This is a guide for working software engineers who have an interest in Haskell but don’t know Haskell yet. ... If you are a Python or Java software engineer with no Haskell experience, this is the executive summary of Haskell theory and practice for you."

K Framework

Kore developers should work through the K Framework tutorial for a high-level view of the project's goals. Developers need a basic understanding of this material to understand users' needs.

Language features

Techniques

Recursion schemes

Monad transformers

Testing

  • Programming with GUTs. "Kevlin Henney advises on writing Good Unit Tests (GUTs) by treating testing as a form of communication with multiple levels and forms of feedback."
  • Beyond TDD. "People think that if they write a couple of tests that show the happy path and the error path, then they have "100% coverage" and are done. If they add those tests to their continuous delivery pipeline, running with the same inputs on every build, then they get "a full regression suite" and can be confident in that they did not break anything."