浏览代码

Mark some functions as removable

Yentl Van Tendeloo 8 年之前
父节点
当前提交
65605c17d6
共有 1 个文件被更改,包括 20 次插入0 次删除
  1. 20 0
      kernel/modelverse_kernel/primitives.py

+ 20 - 0
kernel/modelverse_kernel/primitives.py

@@ -65,11 +65,13 @@ def integer_gt(a, b, **remainder):
     raise PrimitiveFinished(result)
 
 def integer_lt(a, b, **remainder):
+    # TODO make non-primitive, though compiled
     a_value, b_value =  yield [("RV", [a]), ("RV", [b])]
     result, = yield [("CNV", [a_value < b_value])]
     raise PrimitiveFinished(result)
 
 def integer_neg(a, **remainder):
+    # TODO make non-primitive, though compiled
     a_value, =          yield [("RV", [a])]
     result, = yield [("CNV", [-a_value])]
     raise PrimitiveFinished(result)
@@ -115,11 +117,13 @@ def float_gt(a, b, **remainder):
     raise PrimitiveFinished(result)
 
 def float_lt(a, b, **remainder):
+    # TODO make non-primitive, though compiled
     a_value, b_value =  yield [("RV", [a]), ("RV", [b])]
     result, = yield [("CNV", [a_value < b_value])]
     raise PrimitiveFinished(result)
 
 def float_neg(a, **remainder):
+    # TODO make non-primitive, though compiled
     a_value, =          yield [("RV", [a])]
     result, = yield [("CNV", [-a_value])]
     raise PrimitiveFinished(result)
@@ -130,6 +134,7 @@ def string_join(a, b, **remainder):
     raise PrimitiveFinished(result)
 
 def string_split(a, b, **remainder):
+    # TODO make non-primitive, though compiled
     a_value, b_value = yield [("RV", [a]), ("RV", [b])]
     result = a_value.split(b_value)
     elems = yield [("CN", [])] + [("CNV", [v]) for v in result]
@@ -153,6 +158,7 @@ def value_eq(a, b, **remainder):
     raise PrimitiveFinished(result)
 
 def value_neq(a, b, **remainder):
+    # TODO make non-primitive, though compiled
     a_value, b_value =  yield [("RV", [a]), ("RV", [b])]
     result, = yield [("CNV", [a_value != b_value])]
     raise PrimitiveFinished(result)
@@ -162,6 +168,7 @@ def element_eq(a, b, **remainder):
     raise PrimitiveFinished(result)
 
 def element_neq(a, b, **remainder):
+    # TODO make non-primitive, though compiled
     result, = yield [("CNV", [a != b])]
     raise PrimitiveFinished(result)
 
@@ -251,11 +258,13 @@ def cast_id2s(a, **remainder):
     raise PrimitiveFinished(result)
 
 def list_append(a, b, **remainder):
+    # TODO make non-primitive, though compiled
     a_outgoing, = yield [("RO", [a])]
     _ = yield [("CD", [a, len(a_outgoing), b])]
     raise PrimitiveFinished(a)
 
 def list_insert(a, b, c, **remainder):
+    # TODO make non-primitive, though compiled
     a_outgoing, c_value = yield [("RO", [a]), ("RV", [c])]
     links = yield [("RD", [a, i]) for i in range(c_value, len(a_outgoing))] + \
                   [("RDE", [a, i]) for i in range(c_value, len(a_outgoing))]
@@ -267,6 +276,7 @@ def list_insert(a, b, c, **remainder):
     raise PrimitiveFinished(a)
 
 def list_delete(a, b, **remainder):
+    # TODO make non-primitive, though compiled
     a_outgoing, b_value = yield [("RO", [a]), ("RV", [b])]
     links = yield [("RD", [a, i]) for i in range(b_value, len(a_outgoing))] + \
                   [("RDE", [a, i]) for i in range(b_value, len(a_outgoing))]
@@ -277,6 +287,7 @@ def list_delete(a, b, **remainder):
     raise PrimitiveFinished(a)
 
 def list_read(a, b, **remainder):
+    # TODO same as dictionary read
     b_value, = yield [("RV", [b])]
     result, = yield [("RD", [a, b_value])]
     if result is None:
@@ -284,6 +295,7 @@ def list_read(a, b, **remainder):
     raise PrimitiveFinished(result)
 
 def list_len(a, **remainder):
+    # TODO same as read_nr_out
     outgoings, = yield [("RO", [a])]
     result, = yield [("CNV", [len(outgoings)])]
     raise PrimitiveFinished(result)
@@ -294,6 +306,7 @@ def dict_add(a, b, c, **remainder):
     raise PrimitiveFinished(a)
 
 def dict_add_fast(a, b, c, **remainder):
+    # TODO deprecate, as dict_add is now also efficient
     v, = yield [("RV", [b])]
     yield [("CD", [a, v, c])]
     raise PrimitiveFinished(a)
@@ -343,6 +356,7 @@ def dict_in_node(a, b, **remainder):
     raise PrimitiveFinished(result)
 
 def dict_len(a, **remainder):
+    # TODO same as read_nr_out
     outgoings, = yield [("RO", [a])]
     result, = yield [("CNV", [len(outgoings)])]
     raise PrimitiveFinished(result)
@@ -353,6 +367,7 @@ def dict_keys(a, **remainder):
     raise PrimitiveFinished(result)
 
 def dict_reverse(a, b, **remainder):
+    # TODO remove as unused
     edges, = yield [("RO", [a])]
     expanded_edges, = yield [("RE", [i]) for i in edges]
     for i, edge in enumerate(expanded_edges):
@@ -445,6 +460,8 @@ def read_root(root, **remainder):
     raise PrimitiveFinished(root)
 
 def set_add(a, b, **remainder):
+    # TODO make non-primitive, though compiled
+
     #yield [("CE", [a, b])]
     #raise PrimitiveFinished(a)
 
@@ -464,6 +481,7 @@ def set_add(a, b, **remainder):
         raise PrimitiveFinished(a)
 
 def set_pop(a, **remainder):
+    # TODO make non-primitive, though compiled
     outgoing, = yield [("RO", [a])]
     if outgoing:
         v, _ = yield [("RE", [outgoing[0]]), ("DE", [outgoing[0]])]
@@ -487,6 +505,7 @@ def set_remove_node(a, b, **remainder):
     raise PrimitiveFinished(a)
 
 def set_in(a, b, **remainder):
+    # TODO make non-primitive, though compiled
     outgoing, b_value = yield [("RO", [a]), ("RV", [b])]
     if outgoing:
         elements = yield [("RE", [i]) for i in outgoing]
@@ -500,6 +519,7 @@ def set_in(a, b, **remainder):
     raise PrimitiveFinished(result)
 
 def set_in_node(a, b, **remainder):
+    # TODO make non-primitive, though compiled
     outgoing, = yield [("RO", [a])]
     if outgoing:
         elements = yield [("RE", [i]) for i in outgoing]