- The more I learn about logic programming the more I realize that implementing a type-checker is basically reinventing a logic programming language, but worse.
- Constraint-solving systems generally have awful ergonomics wherever you stray from the happy path because: 1. Perf is unpredictable, teeming w/ exponential runtime pitfalls. 2. Error messages are hard to debug.
- miniKanren - Embedded Domain Specific Language for logic programming. (How I learnt miniKanren)
- probKanren - Probabilistic miniKanren.
- Edward Kmett - Logic Programming à la Carte (2019) (PDF slides)
- Holmes - Reference library for constraint-solving with propagators and CDCL.
- Incorrectness Logic (2020)
- Datalog in Haskell - Pure Haskell implementation of Datalog, as a library.
- "Constraint Logic Propagation Conflict Spreadsheets" by William Taysom (2015)
- Ceptre - Tiny logic programming language for prototyping rulesets that you can run, interact with, and analyze.
- TouIST - Language for propositional logic. (Web)
- Why Logic Programming Matters (2020)
- Mercury - Logic/functional programming language which combines the clarity and the expressiveness of declarative programming with advanced static analysis and error detection features. (Web)
- Advent of Code in Polar (logic programming) (2021)
- Making a “MiniKanren” using Z3Py (2021)
- Leverage the Power of Logic Programming With Souffle-haskell (2021)
- Popper - Inductive logic programming (ILP) system.
- Inductive logic programming at 30 (2021)
- The Joy of Concurrent Logic Programming (HN)
- Parallel Logic Programming: A Sequel (2021) (HN)
- CLP - Constraint Logic Programming over Integers. (Web)
- Neural Guided Constraint Logic Programming for Program Synthesis
- CLP(SMT)-miniKanren - Canonical miniKanren implementation, augmented with CLP(SMT).
- Owl - Tiny logic programming language highly inspired by Prolog.
- The joy of concurrent logic programming
- Ascent - Logic programming language (similar to Datalog) embedded in Rust via macros.