Как хорошо использовать упакованные модули OCaml?

В недавнем OCaml 3.12 появилась функция из первых класс упакованных модулей:

  

Модули пакетов первого класса.

     
  • Новый тип выражения типа для упакованных модулей: (module PT)
  •   
  • Новый вид выражения для упаковки модуля в качестве первоклассного значения: (module MODEXPR : PT).
  •   
  • Новый вид выражения модуля, чтобы распаковать первоклассное значение как модуль: (val EXPR : PT).
  •   
  • PT - это тип пакета в форме S или S with type t1 = ... and ... and type tn = ... (S относится к типу модуля).
  •   

Где я могу найти мотивирующие примеры или статьи с помощью этой функции?

7 голосов | спросил t0yv0 29 J000000Thursday10 2010, 20:36:35

1 ответ


0

Я считаю, что одним из канонических мотивирующих примеров является выбор между различными структурами, реализующими одну и ту же сигнатуру, на основе информации, доступной только во время выполнения.

Например, выбор между хеш-таблицей и сбалансированным двоичным деревом в качестве реализации карты.

Некоторые сведения можно найти по адресу: https: //forge.ocamlcore.org/docman/view.php/77/112/leroy-cug2010.pdf

Я считаю, что на дизайн OCaml повлияло похожее расширение для SML от Клаудио Руссо - см., например, «Первоклассные структуры для стандартного ML» http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.34.8754&rep=rep1&type=pdf

ответил RD1 29 J000000Thursday10 2010, 20:53:11

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132