File tree 2 files changed +9
-3
lines changed
2 files changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -18,6 +18,12 @@ let new_meta env t =
18
18
[make_gmeta m], [(m,t)]
19
19
let is_meta v = match view v with | A ("meta" , _ ) -> true | _ -> false
20
20
21
+ (* *
22
+ * Anti-unification of two terms into the most specific generalization
23
+ * I.e. given t1 and t2 compute a t3 such that
24
+ * - there exists env1 and env2 where env1(t3) = t1 and env2(t3) = t2
25
+ * - t3 is the most specific
26
+ *)
21
27
let merge_terms t1 t2 =
22
28
let rec loop env t1 t2 =
23
29
if t1 == t2
Original file line number Diff line number Diff line change @@ -31,9 +31,9 @@ module SpdiffImpl : Spdiff =
31
31
* LHS terms.
32
32
*
33
33
* The näive approach:
34
- * compute all subterms for all LHS terms;
35
- * for each subterm, try to anti-unify with all subterms in other
36
- * term-pairs
34
+ * compute all subterms for all LHS terms;
35
+ * for each subterm, try to anti-unify with all subterms in other
36
+ * term-pairs
37
37
*)
38
38
let get_term_patterns cset =
39
39
let lhs_terms = List. rev_map fst cset in
You can’t perform that action at this time.
0 commit comments