|
@@ -248,7 +248,6 @@ def set_pop(a, **remainder):
|
|
|
yield [("RETURN", [{'id': edge[1]}])]
|
|
|
else:
|
|
|
raise Exception("POP from empty set")
|
|
|
- print("Pop from empty set!")
|
|
|
yield [("RETURN", [{'id': remainder["root"]}])]
|
|
|
|
|
|
def set_create(**remainder):
|
|
@@ -356,3 +355,17 @@ def set_len(a, **remainder):
|
|
|
else:
|
|
|
outgoing, = yield [("RO", [a['id']])]
|
|
|
yield [("RETURN", [{'value': len(outgoing)}])]
|
|
|
+
|
|
|
+def set_in(a, b, **remainder):
|
|
|
+ if "value" not in b:
|
|
|
+ b['value'], = yield [("RV", [b['id']])]
|
|
|
+ value, = yield [("RD", [a['id'], b['value']])]
|
|
|
+ yield [("RETURN", [{'value': value is not None}])]
|
|
|
+
|
|
|
+def set_in_node(a, b, **remainder):
|
|
|
+ if "id" not in b:
|
|
|
+ # Not even allocated the node, so it is certain not to be in the dictionary
|
|
|
+ yield [("RETURN", [{'value': False}])]
|
|
|
+ value, = yield [("RDN", [a['id'], b['id']])]
|
|
|
+ yield [("RETURN", [{'value': value is not None}])]
|
|
|
+
|