What Is miniKanren?
miniKanren in Precision Medicine
- A prominent talk and article describe mediKanren (miniKanren-based) being used routinely to identify personalized treatments for rare diseases.
- mediKanren itself is open-source, but the knowledge graphs it relies on have complex, often restrictive licenses, so they cannot be redistributed.
- An NIH project (Biomedical Data Translator) uses mediKanren and other reasoners; it is framed as a research tool, not a clinical decision system.
- Some wonder whether LLMs could help generate or augment knowledge graphs, but licensing and quality issues are noted as obstacles.
Implementations, Performance, and Alternatives
- Several posters compare miniKanren to Prolog; some find “proper Prolog” more productive and SWI-Prolog highly optimized.
- Scryer, Trealla, Tau, Flix, Datalog, answer-set programming, and SAT/SMT tools (e.g., Z3) are cited as related ecosystems.
- Embedding Prolog in other languages (Python, Clojure, Emacs Lisp) and embedding miniKanren-like systems into host languages is a recurring theme.
Learning Curve and Educational Resources
- Many find The Reasoned Schemer and microKanren papers powerful but hard to approach, especially due to Scheme/Lisp syntax.
- Alternatives suggested: interactive web tutorials, step-by-step microKanren implementations, sokuza-kanren, Clojure’s core.logic, and simple Prolog first.
- Confusion around concepts like “unification” vs “association” is discussed; several concise explanations are offered, and documentation is acknowledged as improvable.
Website, Documentation, and HTTPS
- Multiple requests for a clearer homepage: early code examples, concrete problem examples, and language tabs (Python/Go/Ruby/etc.).
- The lack of HTTPS is criticized; some argue it risks content tampering and is out of step with modern expectations.
- Others downplay the risk and note certificate management overhead; maintainers state a new HTTPS-enabled site with better examples is in progress.
Use Cases, Applications, and Anecdotes
- Example domains: puzzles (fish/zebra), game engines, program synthesis, neural architecture search, authorization/permissions, and large-scale retail data aggregation.
- Some argue many combinatorial problems could be better expressed via logic or integer programming, but concrete SaaS/web examples remain limited and somewhat speculative.
- Several personal stories describe miniKanren-based courses as transformative, though intellectually demanding.
Community and Tone
- The overall tone mixes enthusiasm (for relational programming’s elegance and power) with frustration (steep learning curve, documentation gaps, and tooling hurdles).
- There is interest in workshops, online hangouts, and broader outreach to non-Lisp programmers, plus light-hearted jokes about “MiniKaren.”