Expand description
Rust implementation of the miniKANREN relational logic language.
Re-exports§
pub use prelude::*;
Modules§
- core
- Core data structures and logic algorithms
- database
- A simple relational database
- goals
- Library of goals
- prelude
- testing
Macros§
- conda
- Creates a goal that succeeds if any of its lines succeeds. Only the first line that succeeds can contribute values.
- conde
- Creates a goal that succeeds if any of its lines succeeds. Every successful line contributes one or more values.
- condu
Condu!
behaves likeconda!
, except that a successful line succeeds only once.- conj
- Creates a goal that succeeds if all of its subgoals succeed
- db_
facts - Insert facts into databases.
- db_rel
- Defines a database relation.
- defmatch
- Define a relation. A relation is a function that creates a goal.
- defrel
- Define a relation. A relation is a function that creates a goal.
- disj
- Creates a goal that succeeds if any of its subgoals succeeds
- fresh
- Bind fresh variables with scope inside the body of
fresh!
. - hashmap
- list
- Constructs a cons list.
- matche
Matche!
behaves likeconde!
but allows pattern matching. This simplifies destructuring and creation of fresh variables.- run
- Run one or more goals.
- substitution
- Construct a substitution