代码之家  ›  专栏  ›  技术社区  ›  t0yv0

OCaml打包模块有什么好的用途?

  •  7
  • t0yv0  · 技术社区  · 16 年前

    最近的ocaml3.12引入了 feature

    一流的软件包模块。

    • 新类型的表达式,用于打包模块: (module PT)
    • (module MODEXPR : PT) .
    • (val EXPR : PT) .
    • PT是表单的包类型 S S with type t1 = ... and ... and type tn = ... S码 指模块类型)。

    在哪里可以找到使用此功能的激励示例或论文?

    1 回复  |  直到 16 年前
        1
  •  6
  •   antonakos    15 年前

    我相信其中一个典型的激励例子是,基于运行时可用的信息,在实现同一签名的不同结构之间进行选择。

    例如,在哈希表和平衡二叉树之间进行选择,作为映射的实现。

    https://forge.ocamlcore.org/docman/view.php/77/112/leroy-cug2010.pdf

    我相信OCaml的设计受到了Claudio Russo对SML的类似扩展的影响,例如“标准ML的一流结构” http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.34.8754&rep=rep1&type=pdf

    推荐文章