【问题标题】:Missing clarification in the OCaml manual about unboxed/boxedOCaml 手册中缺少关于未装箱/装箱的说明
【发布时间】:2021-04-30 18:16:31
【问题描述】:

OCaml 手册指出:

作为另一个优化,unboxable 记录类型被特别表示;不可装箱记录类型是只有一个字段的不可变记录类型。

(https://caml.inria.fr/pub/docs/manual-ocaml/intfc.html#ss:c-tuples-and-records)

但是那个“一个字段”可以有哪个类型呢?仅原生,还是任何记录类型?

【问题讨论】:

    标签: ocaml manual


    【解决方案1】:

    任何类型:OCaml 内存表示是统一的。

    更准确地说,就内存表示而言,OCaml 值要么是整数,要么是指向块的指针。 一个块由一个标头组成,后跟许多值。

    拆箱将指向仅包含一个 OCaml 值的块的指针的拆箱内存表示替换为此值。

    【讨论】:

    • 所以我可以有一个带有int list字段的未装箱记录?也许您可以添加几个有意义的示例?
    • 是的。字段的类型无关紧要。
    猜你喜欢
    • 2011-01-19
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    相关资源
    最近更新 更多