/[svn]/driver/cduce.ml
ViewVC logotype

Diff of /driver/cduce.ml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 421 by abate, Tue Jul 10 17:33:25 2007 UTC revision 423 by abate, Tue Jul 10 17:33:34 2007 UTC
# Line 20  Line 20 
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    
# Line 70  Line 75 
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 ->
# Line 109  Line 110 
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

Legend:
Removed from v.421  
changed lines
  Added in v.423

CVS Admin">CVS Admin
ViewVC Help
Powered by ViewVC 1.1.5