equal
deleted
inserted
replaced
66 | merge_change (Change change1, Change change2) = |
66 | merge_change (Change change1, Change change2) = |
67 let |
67 let |
68 val {base = base1, depth = depth1, changes = changes1} = change1; |
68 val {base = base1, depth = depth1, changes = changes1} = change1; |
69 val {base = base2, depth = depth2, changes = changes2} = change2; |
69 val {base = base2, depth = depth2, changes = changes2} = change2; |
70 in |
70 in |
71 if base1 = base1 andalso depth1 = depth2 then |
71 if base1 = base2 andalso depth1 = depth2 then |
72 SOME ((changes2, make_change base1 depth1 (Table.merge (K true) (changes1, changes2)))) |
72 SOME ((changes2, make_change base1 depth1 (Table.merge (K true) (changes1, changes2)))) |
73 else cannot_merge () |
73 else cannot_merge () |
74 end |
74 end |
75 | merge_change _ = cannot_merge (); |
75 | merge_change _ = cannot_merge (); |
76 |
76 |