Browse Source

Added {set,list,dict}_create functions

Yentl Van Tendeloo 8 years ago
parent
commit
5b72965d5c

+ 9 - 0
bootstrap/semi_primitives.alc

@@ -3,6 +3,15 @@ include "primitives.alh"
 // This function must be kept internally, only called through the "sleep" and "interruptable_sleep" functions
 Float function __sleep(a : Float, b : Boolean) = ?primitives/__sleep
 
+Element function list_create():
+	return create_node()!
+
+Element function dict_create():
+	return create_node()!
+
+Element function set_create():
+	return create_node()!
+
 Boolean function value_neq(a : Element, b : Element):
 	return bool_not(value_eq(a, b))!
 

+ 3 - 0
interface/HUTN/includes/primitives.alh

@@ -113,3 +113,6 @@ Element function create_tuple(a : Element, b : Element)
 Void function dict_overwrite(a : Element, b : Element, c : Element)
 Void function set_merge(sa : Element, sb : Element)
 Element function make_reverse_dictionary(dict : Element)
+Element function set_create()
+Element function list_create()
+Element function dict_create()

+ 11 - 0
kernel/modelverse_kernel/compiled.py

@@ -195,3 +195,14 @@ def set_pop(a, **remainder):
         print("Pop from empty set!")
         raise PrimitiveFinished(remainder["root"])
 
+def set_create(**remainder):
+    result, = yield [("CN", [])]
+    raise PrimitiveFinished(result)
+
+def list_create(**remainder):
+    result, = yield [("CN", [])]
+    raise PrimitiveFinished(result)
+
+def dict_create(**remainder):
+    result, = yield [("CN", [])]
+    raise PrimitiveFinished(result)