uris
let refine_profiler = CicUtil.profile "disambiguate_thing.refine_thing"
-let disambiguate_environment_merge_profiler = CicUtil.profile "disambiguate_thing.disambiguate_environment_merge"
let disambiguate_thing ~dbd ~context ~metasenv
?(initial_ugraph = CicUniv.empty_ugraph) ~aliases ~universe
!choices_avg
(float_of_int (!domain_size - 1) *. !choices_avg *. (float_of_int res_size) +. !choices_avg))));
*)
- let choices, b = res in
-let foo () =
- (List.map
- (fun (env, metasenv, t, ugraph) ->
- Environment.fold Environment.add env aliases,
- metasenv, t, ugraph)
- choices),
- b
-in disambiguate_environment_merge_profiler.CicUtil.profile foo ()
+ res
with
CicEnvironment.CircularDependency s ->
failwith "Disambiguate: circular dependency"
let disambiguate_string ~dbd ?(context = []) ?(metasenv = []) ?initial_ugraph
?(aliases = DisambiguateTypes.Environment.empty) term
=
- let ast = CicNotationParser.parse_level2_ast (Stream.of_string term) in
+ let ast =
+ CicNotationParser.parse_level2_ast (Ulexing.from_utf8_string term)
+ in
try
fst (Disambiguator.disambiguate_term ~dbd ~context ~metasenv ast
?initial_ugraph ~aliases ~universe:None)