| 217 |
Format.fprintf ppf "[DEBUG:approx]@."; |
Format.fprintf ppf "[DEBUG:approx]@."; |
| 218 |
let t = Typer.typ tenv t in |
let t = Typer.typ tenv t in |
| 219 |
let p = Typer.pat tenv p in |
let p = Typer.pat tenv p in |
| 220 |
let c = Patterns.approx (Patterns.descr p) (Types.descr t) in |
let (x,c) = Patterns.approx (Patterns.descr p) (Types.descr t) in |
| 221 |
|
List.iter (fun x -> Format.fprintf ppf "%a=* " U.print (Id.value x)) x; |
| 222 |
List.iter |
List.iter |
| 223 |
(fun (x,c) -> |
(fun (x,c) -> |
| 224 |
Format.fprintf ppf "%a:" U.print (Id.value x); |
Format.fprintf ppf "%a=%a " |
| 225 |
(match c with |
U.print (Id.value x) |
| 226 |
| None -> Format.fprintf ppf "*" |
Types.Print.print_const c |
| 227 |
| Some (v,c) -> |
) c; |
|
if v then Format.fprintf ppf "# "; |
|
|
match c with |
|
|
| Some c -> |
|
|
Format.fprintf ppf "%a" Types.Print.print_const c |
|
|
| None -> ()); |
|
| 228 |
Format.fprintf ppf "@." |
Format.fprintf ppf "@." |
|
) c |
|
| 229 |
|
|
| 230 |
|
|
| 231 |
let flush_ppf ppf = Format.fprintf ppf "@." |
let flush_ppf ppf = Format.fprintf ppf "@." |