|
@@ -458,8 +458,12 @@ def set_add(a, b, **remainder):
|
|
|
|
|
|
def set_pop(a, **remainder):
|
|
|
outgoing, = yield [("RO", [a])]
|
|
|
- v, _ = yield [("RE", [outgoing[0]]), ("DE", [outgoing[0]])]
|
|
|
- raise PrimitiveFinished(v[1])
|
|
|
+ if outgoing:
|
|
|
+ v, _ = yield [("RE", [outgoing[0]]), ("DE", [outgoing[0]])]
|
|
|
+ raise PrimitiveFinished(v[1])
|
|
|
+ else:
|
|
|
+ print("Pop from empty set!")
|
|
|
+ raise PrimitiveFinished(remainder["root"])
|
|
|
|
|
|
def set_remove(a, b, **remainder):
|
|
|
outgoing, b_value = yield [("RO", [a]), ("RV", [b])]
|