| Symbol of string * int (* literal, instance num *)
| Num of int (* instance num *)
-exception Invalid_choice of string Lazy.t
+exception Invalid_choice of Stdpp.location option * string Lazy.t
module OrderedDomain =
struct
include Environment'
+ let find k env =
+ match k with
+ Symbol (sym,n) ->
+ (try find k env
+ with Not_found -> find (Symbol (sym,0)) env)
+ | Num n ->
+ (try find k env
+ with Not_found -> find (Num 0) env)
+ | _ -> find k env
+
let cons k v env =
try
let current = find k env in
title:string -> msg:string -> id:string -> UriManager.uri list ->
UriManager.uri list
val interactive_interpretation_choice:
- (string * string) list list -> int list
+ string -> int ->
+ (Stdpp.location list * string * string) list list -> int list
val input_or_locate_uri:
- title:string -> ?id:string -> unit -> UriManager.uri
+ title:string -> ?id:string -> unit -> UriManager.uri option
end
let string_of_domain_item = function