diff options
Diffstat (limited to 'stdlib/obj.ml')
-rw-r--r-- | stdlib/obj.ml | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/stdlib/obj.ml b/stdlib/obj.ml new file mode 100644 index 000000000..b4c131ad4 --- /dev/null +++ b/stdlib/obj.ml @@ -0,0 +1,13 @@ +(* Operations on internal representations of values *) + +type t + +external repr : 'a -> t = "%identity" +external magic : 'a -> 'b = "%identity" +external is_block : t -> bool = "obj_is_block" +external tag : t -> int = "%tagof" +external size : t -> int = "%array_length" +external field : t -> int -> t = "%array_get" +external set_field : t -> int -> t -> unit = "%array_set" +external new_block : int -> int -> t = "obj_block" +external update : t -> t -> unit = "%update" |