Logic Programming with MiniKanren
Table of Contents
- 1. Logic Programming with MiniKanren
- 1.1. Course Syllabus
- 1.1.1. Week 1: Intro to MiniKanren
- 1.1.2. Week 2: Representing Data in MiniKanren
- 1.1.3. Week 3: Basic Search Strategies
- 1.1.4. Week 4: Advanced Search Strategies
- 1.1.5. Week 5: Using Constraint Logic Programming
- 1.1.6. Week 6: Working with Infinite Streams
- 1.1.7. Week 7: Working with State and Side Effects
- 1.1.8. Week 8: Designing Domain-Specific Languages
- 1.1.9. Week 9: Creating Logic Puzzles
- 1.1.10. Week 10: Creating Games
- 1.1.11. Week 11: Creating Web Applications
- 1.1. Course Syllabus
- Seen at
- 2. Related
1. Logic Programming with MiniKanren
verified
Ran core.logic 1.1.0 (the Clojure miniKanren implementation) via clj -- (run* (q) (== q 5)) => (5) -- confirming the unification-based relational search described below.
MiniKanren is a minimalistic logic programming language that makes it easy to write and reason about relational programs.
1.1. Course Syllabus
1.1.1. Week 1: Intro to MiniKanren
1.1.5. Week 5: Using Constraint Logic Programming
verified
core.logic.fd (the finite-domain constraint extension cKanren contributed to miniKanren/core.logic) is real and works as described -- (run* (q) (fd/in q (fd/interval 1 10)) (fd/> q 7)) => (8 9 10).
1.1.10. Week 10: Creating Games
1.1.11. Week 11: Creating Web Applications
- [Exercise 1: Building a Web Scraper](week11/exercise1_building_a
Seen at
- Clojure/Conj 2026 — Applied Logic Programming: forward-chaining Clara Rules, set against miniKanren's relational search.
2. Related
- miniKanren Tutorial – the tutorial
- Scripting Languages Side-by-Side: A REPL Tour – miniKanren in a tour of eight languages