| 33 |
Location.protect ppf (fun ppf -> Value.print ppf v) |
Location.protect ppf (fun ppf -> Value.print ppf v) |
| 34 |
|
|
| 35 |
let dump_env ppf = |
let dump_env ppf = |
| 36 |
Format.fprintf ppf "Global types:"; |
Format.fprintf ppf "Types:%t.@." Typer.dump_global_types; |
| 37 |
Typer.dump_global_types ppf; |
Format.fprintf ppf "Namespace prefixes:@\n%t" Typer.dump_global_ns; |
| 38 |
Format.fprintf ppf ".@."; |
Format.fprintf ppf "Namespace prefixes used for pretty-printing:%t@." |
| 39 |
|
Ns.InternalPrinter.dump; |
| 40 |
|
Format.fprintf ppf "Values:@\n"; |
| 41 |
Env.iter |
Env.iter |
| 42 |
(fun x v -> |
(fun x v -> |
| 43 |
let t = Env.find x !typing_env in |
let t = Env.find x !typing_env in |
| 44 |
Format.fprintf ppf "@[val %a : @[%a = %a@]@]@." |
Format.fprintf ppf "@[val %a : @[%a = %a@]@]@." |
| 45 |
U.print (Id.value x) print_norm t print_value v |
U.print (Id.value x) print_norm t print_value v |
| 46 |
) |
) |
| 47 |
!eval_env; |
!eval_env |
|
Format.fprintf ppf "Namespaces:@."; |
|
|
Ns.dump_prefix_table ppf |
|
|
|
|
| 48 |
|
|
| 49 |
let rec print_exn ppf = function |
let rec print_exn ppf = function |
| 50 |
| Location (loc, w, exn) -> |
| Location (loc, w, exn) -> |
| 173 |
Typer.register_schema name schema; |
Typer.register_schema name schema; |
| 174 |
phrases ppf rest |
phrases ppf rest |
| 175 |
| { descr = Ast.Namespace (pr,ns) } :: rest -> |
| { descr = Ast.Namespace (pr,ns) } :: rest -> |
| 176 |
Typer.register_ns_prefix pr ns; |
Typer.register_global_ns pr ns; |
| 177 |
phrases ppf rest |
phrases ppf rest |
| 178 |
| { descr = Ast.EvalStatement e } :: rest -> |
| { descr = Ast.EvalStatement e } :: rest -> |
| 179 |
let (fv,e) = Typer.expr e in |
let (fv,e) = Typer.expr e in |