22(* license: GNU Lesser General Public License Version 2.1 or later *)
33(* ------------------------------------------------------------------------- *)
44
5+ [%% import " coq_elpi_config.mlh" ]
6+
57module API = Elpi. API
68module State = API. State
79module Conv = API. Conversion
@@ -150,6 +152,12 @@ let invocation_site_loc_synterp : API.Ast.Loc.t State.component =
150152 ~init: (fun () -> API.Ast.Loc. initial " (should-not-happen)" )
151153 ~start: (fun x -> x) ()
152154
155+ [%% if elpi > = (1 , 20 , 0 )]
156+ let compat_graft x = x
157+ [%% else ]
158+ let compat_graft = Option. map (function `Remove , _ -> nYI " clause removal" | ((`Replace | `Before | `After ), _ ) as x -> x)
159+ [%% endif]
160+
153161type accumulation_item = qualified_name * API.Ast .program * Id .t list * Coq_elpi_utils .clause_scope
154162let accumulate_clauses ~clauses_for_later ~accumulate_to_db ~preprocess_clause ~scope ~dbname clauses ~depth ~options state =
155163 let invocation_loc = State. get invocation_site_loc_synterp state in
@@ -158,7 +166,7 @@ let accumulate_clauses ~clauses_for_later ~accumulate_to_db ~preprocess_clause ~
158166 let clauses scope =
159167 clauses |> CList. rev_map (fun (name ,graft ,clause ) ->
160168 let vars, clause = preprocess_clause ~depth clause in
161- let graft = Option. map ( function `Remove , _ -> nYI " clause removal " | (( `Replace | `Before | `After ), _ ) as x -> x) graft in
169+ let graft = compat_graft graft in
162170 let clause = U. clause_of_term ?name ?graft ~depth loc clause in
163171 (dbname,clause,vars,scope)) in
164172 let local = (options : options ).local = Some true in
0 commit comments