我查看了一些 OCaml 值的内部表示。空数组的表示是atom(0)
,即一个块tag=0
and size=0
。空浮点数数组由atom(0)
too.
是否存在由原子表示的任何 OCaml 值tag > 0
?如果不是:OCaml 字节码集包含以下内容的目的是什么ATOM n
操作说明?
标签 > 0 用于带有参数的构造函数,这将使它们不是原子。另一方面,没有参数的构造函数存储为 int 而不是块,因此也不是原子。所以我认为atom(0)没有被使用。除了 ...
如果构造函数的内联记录为空怎么办?
# type t = A of int | B of { };;
Error: Syntax error
似乎不允许空记录。除了直接创建这样的块之外,我想不出其他方法来创建带标签的 0 大小块。但这不会使用 ATOM 指令。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)