git » hoplite.git » commit 78dbaca

TupleSet => StupidTupleSet

author Alan Dipert
2021-06-02 16:08:53 UTC
committer Alan Dipert
2021-06-02 16:08:53 UTC
parent 479c632099f315767658578decd6a33f790d0306

TupleSet => StupidTupleSet

datalog.mjs +4 -4
reactives.mjs +8 -8
tests.mjs +3 -3

diff --git a/datalog.mjs b/datalog.mjs
index 19fe08d..aa79859 100644
--- a/datalog.mjs
+++ b/datalog.mjs
@@ -41,7 +41,7 @@ function tupleEqual(x, y) {
   return true;
 }
 
-class TupleSet {
+class StupidTupleSet {
   constructor(tuples = []) {
     this.tuples = [];
     tuples.forEach(tuple => this.add(tuple));
@@ -69,7 +69,7 @@ class TupleSet {
     this.tuples = [];
   }
   complement(other) {
-    return new TupleSet([...this].filter(tuple => !other.has(tuple)));
+    return new StupidTupleSet([...this].filter(tuple => !other.has(tuple)));
   }
   size() {
     return this.tuples.length;
@@ -157,7 +157,7 @@ function initRel(use, vals) {
 }
 
 function select(rel, vars) {
-  return new TupleSet([...rel].map(rx => vars.map(v => rx[v])));
+  return new StupidTupleSet([...rel].map(rx => vars.map(v => rx[v])));
 }
 
 function parseVals(use, vals) {
@@ -225,7 +225,7 @@ function paths(x, parent = []) {
   }
 }
 
-export { ANY, _, query, TupleSet, partialQuery, paths };
+export { ANY, _, query, StupidTupleSet, partialQuery, paths };
 // let db = new JSONSet([
 //   ["sally", "age", 21],
 //   ["fred", "age", 42],
diff --git a/reactives.mjs b/reactives.mjs
index a2d4eb1..97a4ac6 100644
--- a/reactives.mjs
+++ b/reactives.mjs
@@ -1,4 +1,4 @@
-import { TupleSet, partialQuery } from './datalog.mjs';
+import { StupidTupleSet, partialQuery } from './datalog.mjs';
 
 const depGraph = new Map(),
       suspended = new Set();
@@ -99,9 +99,9 @@ class Formula {
 
 class Database {
   constructor() {
-    this.set = new TupleSet();
-    this.added = new TupleSet();
-    this.removed = new TupleSet();
+    this.set = new StupidTupleSet();
+    this.added = new StupidTupleSet();
+    this.removed = new StupidTupleSet();
   }
   add(tuples) {
     let changed = false;
@@ -157,9 +157,9 @@ class View {
     // q is not reactive (for now)
     this.query = q instanceof Function ? q : partialQuery(q);
     this.sources = sources;
-    this.set = new TupleSet();
-    this.added = new TupleSet();
-    this.removed = new TupleSet();
+    this.set = new StupidTupleSet();
+    this.added = new StupidTupleSet();
+    this.removed = new StupidTupleSet();
     this.watches = new Map();
     sources
       .filter(View.isReactiveSource)
@@ -226,7 +226,7 @@ class Watch {
         || this.source instanceof Formula) {
       this.callback.call(null, this.source.previousValue, this.source.value)
     } else {
-      this.callback.call(null, this.source.set, new TupleSet());
+      this.callback.call(null, this.source.set, new StupidTupleSet());
     }
   }
   detach() {
diff --git a/tests.mjs b/tests.mjs
index 479faa0..0906a2f 100644
--- a/tests.mjs
+++ b/tests.mjs
@@ -1,4 +1,4 @@
-import { _, query, TupleSet } from './datalog.mjs';
+import { _, query, StupidTupleSet } from './datalog.mjs';
 const { module, test } = QUnit;
 
 // QUnit.assert.queryEquals = function(expect, q, ...args) {
@@ -6,7 +6,7 @@ const { module, test } = QUnit;
 
 module('datalog', () => {
 
-  let db1 = new TupleSet([
+  let db1 = new StupidTupleSet([
     ["sally", "age", 21],
     ["fred", "age", 42],
     ["ethel", "age", 42],
@@ -15,7 +15,7 @@ module('datalog', () => {
     ["ethel", "likes", "sushi"]
   ]);
 
-  let db2 = new TupleSet([
+  let db2 = new StupidTupleSet([
     ["ethel", "sex", "female"],
     ["fred", "sex", "male"]
   ]);