+}
+
+function psi\free(object $memory) : void {
+ let ptr = objval($memory);
+ return free(ptr) as void(free);
+}
+
+function psi\malloc(int $size) : object {
+ let size = intval($size);
+ pre_assert size >= 0;
+ return malloc(size) as to_object(malloc);
+}
+
+function psi\calloc(int $nmemb, int $size) : object {
+ let nmemb = intval($nmemb);
+ let size = intval($size);
+ pre_assert size >= 0;
+ return calloc(nmemb, size) as to_object(calloc);
+}
+
+function psi\realloc(object $obj, int $size) : object {
+ let ptr = objval($obj);
+ let size = intval($size);
+ pre_assert size >= 0;
+ return realloc(ptr, size) as to_object(realloc);
+}