summaryrefslogtreecommitdiff
path: root/crates/elfmind/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/elfmind/src/main.rs')
-rw-r--r--crates/elfmind/src/main.rs59
1 files changed, 34 insertions, 25 deletions
diff --git a/crates/elfmind/src/main.rs b/crates/elfmind/src/main.rs
index e4cd4cc..01fd4bc 100644
--- a/crates/elfmind/src/main.rs
+++ b/crates/elfmind/src/main.rs
@@ -6,37 +6,46 @@ fn main() {
.fact(Relation::HasItem((CharacterUnmasked::Assagioli, Item::Apple)))
.fact(Relation::FriendOf((CharacterUnmasked::Bombieri, CharacterUnmasked::Cagliostro)))
.learn();
- db.query().rule(Rule {
- head: RelationHole::UsedItemAt((
- Hole::Val(CharacterUnmasked::Assagioli),
- Hole::Var(Var(0)),
- Hole::Var(Var(1)),
- )),
- body: vec![
- RelationHole::TimeIs(Hole::Var(Var(1))),
- RelationHole::HasItem((Hole::Val(CharacterUnmasked::Assagioli), Hole::Var(Var(0)))),
- ],
- }).learn();
+ // db.query().rule(Rule {
+ // head: RelationHole::UsedItemAt((
+ // Hole::Val(CharacterUnmasked::Assagioli),
+ // Hole::Var(Var(0)),
+ // Hole::Var(Var(1)),
+ // )),
+ // body: vec![
+ // RelationHole::TimeIs(Hole::Var(Var(1))),
+ // RelationHole::HasItem((Hole::Val(CharacterUnmasked::Assagioli), Hole::Var(Var(0)))),
+ // ],
+ // }).learn();
+ // db.query().rule(Rule {
+ // head: RelationHole::FriendOf((
+ // Hole::Val(CharacterUnmasked::Cagliostro),
+ // Hole::Var(Var(0)),
+ // )),
+ // body: vec![
+ // RelationHole::TimeIs(Hole::Var(Var(1))),
+ // RelationHole::UsedItemAt((Hole::Var(Var(0)), Hole::Val(Item::Apple), Hole::Var(Var(1)))),
+ // ],
+ // }).learn();
+ // db.query().rule(Rule {
+ // head: RelationHole::FriendOf((
+ // Hole::Var(Var(0)),
+ // Hole::Var(Var(2)),
+ // )),
+ // body: vec![
+ // RelationHole::FriendOf((Hole::Var(Var(0)), Hole::Var(Var(1)))),
+ // RelationHole::FriendOf((Hole::Var(Var(1)), Hole::Var(Var(2)))),
+ // ],
+ // }).learn();
db.query().rule(Rule {
head: RelationHole::FriendOf((
- Hole::Val(CharacterUnmasked::Cagliostro),
Hole::Var(Var(0)),
+ Hole::Var(Var(1)),
)),
body: vec![
- RelationHole::TimeIs(Hole::Var(Var(1))),
- RelationHole::UsedItemAt((Hole::Var(Var(0)), Hole::Val(Item::Apple), Hole::Var(Var(1)))),
- ],
- }).learn();
- db.query().rule(Rule {
- head: RelationHole::FriendOf((
- Hole::Var(Var(0)),
- Hole::Var(Var(2)),
- )),
- body: vec![
- RelationHole::FriendOf((Hole::Var(Var(0)), Hole::Var(Var(1)))),
- RelationHole::FriendOf((Hole::Var(Var(1)), Hole::Var(Var(2)))),
+ RelationHole::FriendOf((Hole::Var(Var(1)), Hole::Var(Var(0)))),
],
}).learn();
println!("{}", db);
- println!("{}", db.query().fact(Relation::TimeIs(8)).fact(Relation::TimeIs(9)).ask());
+ // println!("{}", db.query().fact(Relation::TimeIs(8)).fact(Relation::TimeIs(9)).ask());
}