summaryrefslogtreecommitdiff
path: root/src/finite_map.ml
diff options
context:
space:
mode:
authorKathy Gray2014-01-31 14:54:10 +0000
committerKathy Gray2014-01-31 14:54:10 +0000
commit1794061ee083bf95fda8e3422df2c521eff682f8 (patch)
treec5d360728c18de07fb650171cd17cf86799e44c0 /src/finite_map.ml
parent54f7ded021bbf6753fc4f85abfd3e70eea07b0c5 (diff)
More type checking and conversions
(Temporarily turning off unbound identifier checks, until all variable-introducing forms are checked)
Diffstat (limited to 'src/finite_map.ml')
-rw-r--r--src/finite_map.ml6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/finite_map.ml b/src/finite_map.ml
index 3058e0c9..fd0a5553 100644
--- a/src/finite_map.ml
+++ b/src/finite_map.ml
@@ -93,7 +93,11 @@ module Fmap_map(Key : Set.OrderedType) : Fmap
let insert m (k,v) = M.add k v m
let union m1 m2 =
M.merge (fun k v1 v2 -> match v2 with | None -> v1 | Some _ -> v2) m1 m2
- let intersect m1 m2 = m2 (*WRITE ME TODO*)
+ let intersect m1 m2 =
+ M.fold (fun k v res ->
+ if (M.mem k m2)
+ then M.add k v res
+ else res) M.empty m1
let merge f m1 m2 = M.merge f m1 m2
let apply m k =
try