forked from links-lang/links
-
Notifications
You must be signed in to change notification settings - Fork 0
/
moduleUtils.mli
22 lines (19 loc) · 985 Bytes
/
moduleUtils.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
open Utility
type module_info = {
simple_name : string; (* Note: not fully-qualified *)
inner_modules : string list;
type_names : string list;
decl_names : string list
}
type term_shadow_table = string list stringmap
type type_shadow_table = string list stringmap
type shadow_table = string list stringmap
val module_sep : string
val try_parse_file : string -> (Sugartypes.program * Parse.position_context)
val contains_modules : Sugartypes.program -> bool
val separate_modules : Sugartypes.binding list -> (Sugartypes.binding list * Sugartypes.binding list)
val shadow_open : string -> string -> module_info stringmap -> term_shadow_table -> type_shadow_table -> (term_shadow_table * type_shadow_table)
val shadow_binding : string -> string -> (string list) stringmap -> (string list stringmap)
val create_module_info_map : Sugartypes.program -> module_info stringmap
val lst_to_path : string list -> string
val make_path_string : string list -> string -> string