Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/compiler/Elaborator/types/typecheck.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/Elaborator/types/typecheck.sml

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

revision 1343, Wed Aug 13 17:44:22 2003 UTC revision 1344, Wed Aug 13 18:04:08 2003 UTC
# Line 25  Line 25 
25    structure EU = ElabUtil    structure EU = ElabUtil
26    structure ED = ElabDebug    structure ED = ElabDebug
27    structure OLL = OverloadLit    structure OLL = OverloadLit
28      structure PP = PrettyPrint
29    
30  in  in
31    
# Line 90  Line 91 
91                val m = if m="" then name1 ^ " and " ^ name2 ^ " don't agree"                val m = if m="" then name1 ^ " and " ^ name2 ^ " don't agree"
92                        else m                        else m
93            in if name1="" then ()            in if name1="" then ()
94               else (add_newline ppstrm;               else (newline ppstrm;
95                     add_string ppstrm (name1 ^ ": " ^ pad1);                     PP.string ppstrm (name1 ^ ": " ^ pad1);
96                     ppType ppstrm ty1);                     ppType ppstrm ty1);
97               if name2="" then ()               if name2="" then ()
98                else (add_newline ppstrm;                else (newline ppstrm;
99                      add_string ppstrm (name2 ^ ": " ^ pad2);                      PP.string ppstrm (name2 ^ ": " ^ pad2);
100                      ppType ppstrm ty2);                      ppType ppstrm ty2);
101               if kindname="" then ()               if kindname="" then ()
102               else (add_newline ppstrm; add_string ppstrm("in "^kindname^":");               else (newline ppstrm; PP.string ppstrm("in "^kindname^":");
103                     add_break ppstrm (1,2); kind ppstrm (phrase,!printDepth))                     break ppstrm {nsp=1,offset=2}; kind ppstrm (phrase,!printDepth))
104           end));           end));
105         false)         false)
106    
# Line 163  Line 164 
164                                  \names of ALL the fields\n in this context)"                                  \names of ALL the fields\n in this context)"
165                              (fn ppstrm =>                              (fn ppstrm =>
166                                 (PPType.resetPPType();                                 (PPType.resetPPType();
167                                  add_newline ppstrm;                                  newline ppstrm;
168                                  add_string ppstrm "type: ";                                  PP.string ppstrm "type: ";
169                                  ppType ppstrm ty));                                  ppType ppstrm ty));
170                              WILDCARDty)                              WILDCARDty)
171                           else ty                           else ty
# Line 353  Line 354 
354                    (message("constructor and argument don't agree in pattern",mode))                    (message("constructor and argument don't agree in pattern",mode))
355                    (fn ppstrm =>                    (fn ppstrm =>
356                     (PPType.resetPPType();                     (PPType.resetPPType();
357                      add_newline ppstrm;                      newline ppstrm;
358                      add_string ppstrm "constructor: ";                      PP.string ppstrm "constructor: ";
359                      ppType ppstrm typ; add_newline ppstrm;                      ppType ppstrm typ; newline ppstrm;
360                      add_string ppstrm "argument:    ";                      PP.string ppstrm "argument:    ";
361                      ppType ppstrm argty; add_newline ppstrm;                      ppType ppstrm argty; newline ppstrm;
362                      add_string ppstrm "in pattern:"; add_break ppstrm (1,2);                      PP.string ppstrm "in pattern:"; break ppstrm {nsp=1,offset=2};
363                      ppPat ppstrm (pat,!printDepth)));                      ppPat ppstrm (pat,!printDepth)));
364                   (pat,WILDCARDty))                   (pat,WILDCARDty))
365             end             end
# Line 448  Line 449 
449                    (message("selecting a non-existing field from a record",mode))                    (message("selecting a non-existing field from a record",mode))
450                    (fn ppstrm =>                    (fn ppstrm =>
451                     (PPType.resetPPType();                     (PPType.resetPPType();
452                      add_newline ppstrm;                      newline ppstrm;
453                      add_string ppstrm "the field name: ";                      PP.string ppstrm "the field name: ";
454                      (case l of LABEL{name,...} => ppSym ppstrm name);                      (case l of LABEL{name,...} => ppSym ppstrm name);
455                      add_newline ppstrm;                      newline ppstrm;
456                      add_string ppstrm "the record type:    ";                      PP.string ppstrm "the record type:    ";
457                      ppType ppstrm nty; add_newline ppstrm;                      ppType ppstrm nty; newline ppstrm;
458                      add_string ppstrm "in expression:";                      PP.string ppstrm "in expression:";
459                      add_break ppstrm (1,2);                      break ppstrm {nsp=1,offset=2};
460                      ppExp ppstrm (exp,!printDepth)));                      ppExp ppstrm (exp,!printDepth)));
461                      (exp, WILDCARDty))                      (exp, WILDCARDty))
462             end             end
# Line 494  Line 495 
495                     then (err region COMPLAIN                     then (err region COMPLAIN
496                            (message("operator and operand don't agree",mode))                            (message("operator and operand don't agree",mode))
497                            (fn ppstrm =>                            (fn ppstrm =>
498                             (add_newline ppstrm;                             (newline ppstrm;
499                              add_string ppstrm "operator domain: ";                              PP.string ppstrm "operator domain: ";
500                              ppType ppstrm (domain reducedRatorTy);                              ppType ppstrm (domain reducedRatorTy);
501                              add_newline ppstrm;                              newline ppstrm;
502                              add_string ppstrm "operand:         ";                              PP.string ppstrm "operand:         ";
503                              ppType ppstrm randTy; add_newline ppstrm;                              ppType ppstrm randTy; newline ppstrm;
504                              add_string ppstrm "in expression:";                              PP.string ppstrm "in expression:";
505                              add_break ppstrm (1,2);                              break ppstrm {nsp=1,offset=2};
506                              ppExp ppstrm (exp,!printDepth)));                              ppExp ppstrm (exp,!printDepth)));
507                           (exp,WILDCARDty))                           (exp,WILDCARDty))
508                     else (err region COMPLAIN                     else (err region COMPLAIN
509                            (message("operator is not a function",mode))                            (message("operator is not a function",mode))
510                            (fn ppstrm =>                            (fn ppstrm =>
511                              (add_newline ppstrm;                              (newline ppstrm;
512                               add_string ppstrm "operator: ";                               PP.string ppstrm "operator: ";
513                               ppType ppstrm (ratorTy); add_newline ppstrm;                               ppType ppstrm (ratorTy); newline ppstrm;
514                               add_string ppstrm "in expression:";                               PP.string ppstrm "in expression:";
515                               add_break ppstrm (1,2);                               break ppstrm {nsp=1,offset=2};
516                               ppExp ppstrm (exp,!printDepth)));                               ppExp ppstrm (exp,!printDepth)));
517                           (exp,WILDCARDty))                           (exp,WILDCARDty))
518                 end                 end

Legend:
Removed from v.1343  
changed lines
  Added in v.1344

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0