Я пишу функцию OCaml, в которой мне нужно объединить две карты. Мне не удалось выяснить семантику функции merge
, предоставляемой функтором Map.Make
(обнаружена в версии 3.12.0 OCaml). Может ли кто-нибудь дать мне более подробное объяснение, чем руководство по OCaml? Мне, вероятно, хватило бы примера, чтобы понять это.
Кроме того, две карты, которые мне нужно объединить, обладают некоторыми интересными свойствами: ключи имеют один и тот же тип (на самом деле int
) и их домен не пересекается. Есть ли более эффективный подход, чем процедура слияния?