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/branches/primop-branch/src/compiler/Elaborator/types/typecheck.sml
ViewVC logotype

Diff of /sml/branches/primop-branch/src/compiler/Elaborator/types/typecheck.sml

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

revision 1475, Fri Apr 9 19:05:33 2004 UTC revision 1476, Fri Apr 16 20:51:46 2004 UTC
# Line 342  Line 342 
342                  *)                  *)
343                 val nty = mkMETAtyBounded depth                 val nty = mkMETAtyBounded depth
344                 val _ = unifyTy(nty, ty)                 val _ = unifyTy(nty, ty)
345              in (CONpat(dcon,insts),ty)              in (CONpat(dcon,ty),ty)
346             end             end
347         | APPpat(dcon as DATACON{typ,rep,...},_,arg) =>         | APPpat(dcon as DATACON{typ,rep,...},_,arg) =>
348             let val (argpat,argty) = patType(arg,depth,region)             let val (argpat,argty) = patType(arg,depth,region)
# Line 410  Line 410 
410            let val (ty, insts) = instantiatePoly(!typ)            let val (ty, insts) = instantiatePoly(!typ)
411             in (VARexp(r, ty), ty)             in (VARexp(r, ty), ty)
412            end            end
   
413         | VARexp(refvar as ref(OVLDvar _),_) =>         | VARexp(refvar as ref(OVLDvar _),_) =>
414              (exp,pushOverloaded(refvar, err region))              (exp,pushOverloaded(refvar, err region))
415         | VARexp(r as ref ERRORvar, _) => (exp, WILDCARDty)         | VARexp(r as ref ERRORvar, _) => (exp, WILDCARDty)
416         | CONexp(dcon as DATACON{typ,...},_) =>         | CONexp(dcon as DATACON{typ,...},_) =>
417             let val (ty,insts) = instantiatePoly typ             let val (ty,insts) = instantiatePoly typ
418              in (CONexp(dcon,insts),ty)              in (CONexp(dcon,ty), ty)
419             end             end
420         | INTexp (_,ty) => (OLL.push ty; (exp,ty))         | INTexp (_,ty) => (OLL.push ty; (exp,ty))
421         | WORDexp (_,ty) => (OLL.push ty; (exp,ty))         | WORDexp (_,ty) => (OLL.push ty; (exp,ty))

Legend:
Removed from v.1475  
changed lines
  Added in v.1476

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