| 20 |
Location.protect ppf |
Location.protect ppf |
| 21 |
(fun ppf -> Types.Print.print ppf ((*Types.normalize*) d)) |
(fun ppf -> Types.Print.print ppf ((*Types.normalize*) d)) |
| 22 |
|
|
| 23 |
|
let print_sample ppf s = |
| 24 |
|
Location.protect ppf |
| 25 |
|
(fun ppf -> Sample.print ppf s) |
| 26 |
|
|
| 27 |
|
|
| 28 |
let print_value ppf v = |
let print_value ppf v = |
| 29 |
Location.protect ppf (fun ppf -> Value.print ppf v) |
Location.protect ppf (fun ppf -> Value.print ppf v) |
| 30 |
|
|
| 75 |
print_norm t; |
print_norm t; |
| 76 |
Format.fprintf ppf "but its inferred type is:@\n%a@\n" |
Format.fprintf ppf "but its inferred type is:@\n%a@\n" |
| 77 |
print_norm s; |
print_norm s; |
| 78 |
Format.fprintf ppf "which is not a subtype, as shown by the sample:@\n" ; |
Format.fprintf ppf "which is not a subtype, as shown by the sample:@\n%a@\n" |
| 79 |
Location.protect ppf |
print_sample (Sample.get (Types.diff s t)) |
|
(fun ppf -> |
|
|
Sample.print ppf (Sample.get (Types.diff s t))); |
|
|
Format.fprintf ppf "@\n" |
|
| 80 |
| Typer.NonExhaustive t -> |
| Typer.NonExhaustive t -> |
| 81 |
Format.fprintf ppf "This pattern matching is not exhaustive@\n"; |
Format.fprintf ppf "This pattern matching is not exhaustive@\n"; |
| 82 |
Format.fprintf ppf "Residual type:@\n%a@\n" |
Format.fprintf ppf "Residual type:@\n%a@\n" |
| 83 |
print_norm t; |
print_norm t; |
| 84 |
Format.fprintf ppf "Sample:@\n%a@\n" |
Format.fprintf ppf "Sample:@\n%a@\n" print_sample (Sample.get t) |
|
Sample.print (Sample.get t) |
|
| 85 |
| Typer.UnboundId x -> |
| Typer.UnboundId x -> |
| 86 |
Format.fprintf ppf "Unbound identifier %a@\n" U.print (Id.value x) |
Format.fprintf ppf "Unbound identifier %a@\n" U.print (Id.value x) |
| 87 |
| Wlexer.Illegal_character c -> |
| Wlexer.Illegal_character c -> |
| 110 |
| `Sample t -> |
| `Sample t -> |
| 111 |
Format.fprintf ppf "[DEBUG:sample]@\n"; |
Format.fprintf ppf "[DEBUG:sample]@\n"; |
| 112 |
let t = Types.descr (Typer.typ t) in |
let t = Types.descr (Typer.typ t) in |
| 113 |
Location.protect ppf |
Format.fprintf ppf "%a@\n" print_sample (Sample.get t) |
|
(fun ppf -> Sample.print ppf (Sample.get t)); |
|
|
Format.fprintf ppf "@\n" |
|
| 114 |
| `Filter (t,p) -> |
| `Filter (t,p) -> |
| 115 |
Format.fprintf ppf "[DEBUG:filter]@\n"; |
Format.fprintf ppf "[DEBUG:filter]@\n"; |
| 116 |
let t = Typer.typ t |
let t = Typer.typ t |