microKanren-py
kanren
microKanren-py | kanren | |
---|---|---|
1 | 3 | |
5 | 157 | |
- | 6.4% | |
0.0 | 0.0 | |
about 1 year ago | over 1 year ago | |
Python | Python | |
- | GNU General Public License v3.0 or later |
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.
microKanren-py
-
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
kanren
- 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
What are some alternatives?
Gleemin - A Magic: the Gathering™ expert system
minizinc-python - Access to all MiniZinc functionality directly from Python
louise - Polynomial-time Meta-Interpretive Learning
clpz - Constraint Logic Programming over Integers
edcg - Extended DCG syntax for Prolog by Peter Van Roy
ukanren-rs - Rust implementation of µKanren, a featherweight relational programming language.
scryer-prolog - A modern Prolog implementation written mostly in Rust.
PyNeuraLogic - PyNeuraLogic lets you use Python to create Differentiable Logic Programs
muKanren_reading - [Mirror] A close reading of the μKanren paper.
pyswip - PySwip is a Python - SWI-Prolog bridge enabling to query SWI-Prolog in your Python programs. It features an (incomplete) SWI-Prolog foreign language interface, a utility class that makes it easy querying with Prolog and also a Pythonic interface.
wh40ksim - Warhammer 40k Combat simulator
ciao - Ciao is a modern Prolog implementation that builds up from a logic-based simple kernel designed to be portable, extensible, and modular.