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 1640, Fri Oct 1 15:20:40 2004 UTC revision 1641, Wed Oct 6 20:18:55 2004 UTC
# Line 526  Line 526 
526                  then (CONSTRAINTexp(e',ty),ty)                  then (CONSTRAINTexp(e',ty),ty)
527                  else (exp,WILDCARDty)                  else (exp,WILDCARDty)
528             end             end
529         | HANDLEexp(e,HANDLER h) =>         | HANDLEexp(e, (rules, _)) =>
530             let val (e',ety) = expType(e,occ,region)             let val (e',ety) = expType(e,occ,region)
531                 and (h',hty) = expType(h,occ,region)                 and (rules',rty,hty) = matchType (rules, occ, region)
532                 val exp' = HANDLEexp(e',HANDLER h')                 val exp' = HANDLEexp(e', (rules', rty))
533              in (unifyTy(hty, exnTy --> ety); (exp',ety))              in (unifyTy(hty, exnTy --> ety); (exp',ety))
534                 handle Unify(mode) =>                 handle Unify(mode) =>
535                   (if unifyErr{ty1=domain(prune hty), name1="handler domain",                   (if unifyErr{ty1=domain(prune hty), name1="handler domain",

Legend:
Removed from v.1640  
changed lines
  Added in v.1641

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