kanren
An extensible, lightweight relational/logic programming DSL written in pure Python (by pythological)
microKanren-py
Simple python3 implementation of microKanren with lots of type annotations for clarity (by Erik-J-D)
kanren | microKanren-py | |
---|---|---|
3 | 1 | |
169 | 5 | |
0.0% | - | |
0.0 | 0.0 | |
over 1 year ago | over 1 year ago | |
Python | Python | |
GNU General Public License v3.0 or later | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kanren
Posts with mentions or reviews of kanren.
We have used some of these posts to build our list of alternatives
and similar projects.
- Kanren: An extensible, lightweight relational/logic programming DSL in Python
-
When do you use generators?
Kanren for Pyhon implements a logic programming paradigm using generators giving substitutions for logical variables. It allows to deal with infinite solutions that can be conjoined (interleaved) with others seamlessly
-
Five-minute Multimethods in Python by Guido van Rossum - March 30, 2005
found about this decorator while playing with https://github.com/pythological/kanren
microKanren-py
Posts with mentions or reviews of microKanren-py.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-05-25.
-
Annotated implementation of microKanren: an embeddable logic language
I did a mostly-true-to-the-paper python implementation a while back, that may be helpful as well: https://github.com/Erik-J-D/microKanren-py
What are some alternatives?
When comparing kanren and microKanren-py you can also consider the following projects:
minizinc-python - Access to all MiniZinc functionality directly from Python
Gleemin - A Magic: the Gathering™ expert system
clpz - Constraint Logic Programming over Integers
louise - Polynomial-time Meta-Interpretive Learning
ukanren-rs - Rust implementation of µKanren, a featherweight relational programming language.
edcg - Extended DCG syntax for Prolog by Peter Van Roy
ciao - Ciao is a modern Prolog implementation that builds up from a logic-based simple kernel designed to be portable, extensible, and modular.
wh40ksim - Warhammer 40k Combat simulator
PyNeuraLogic - PyNeuraLogic lets you use Python to create Differentiable Logic Programs
scryer-prolog - A modern Prolog implementation written mostly in Rust.