CVS: sml-dist/src/compiler/Elaborator/types typecheck.sml, 1.8.4.2, 1.8.4.3
George Kuan <[email protected]> Mon, 19 Jun 2006 18:28:07 -0700
| Newsgroups | gmane.comp.lang.sml.smlnj.commits |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/smlnj/sml-dist/src/compiler/Elaborator/types
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv24205/src/compiler/Elaborator/types
Modified Files:
Tag: primop-branch-2
typecheck.sml
Log Message:
Propagating VARexp, CONpat, CONexp type change to ?? * ty option change
Index: typecheck.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/Elaborator/types/typecheck.sml,v
retrieving revision 1.8.4.2
retrieving revision 1.8.4.3
diff -C2 -d -r1.8.4.2 -r1.8.4.3
*** typecheck.sml 19 Jun 2006 22:29:00 -0000 1.8.4.2
--- typecheck.sml 20 Jun 2006 01:28:00 -0000 1.8.4.3
***************
*** 345,349 ****
val nty = mkMETAtyBounded depth
val _ = unifyTy(nty, ty)
! in (CONpat(dcon,insts),ty)
end
| APPpat(dcon as DATACON{typ,rep,...},_,arg) =>
--- 345,350 ----
val nty = mkMETAtyBounded depth
val _ = unifyTy(nty, ty)
! in (** (CONpat(dcon,insts),ty) *)
! (CONpat(dcon, SOME ty), ty)
end
| APPpat(dcon as DATACON{typ,rep,...},_,arg) =>
***************
*** 411,415 ****
of VARexp(r as ref(VALvar{typ, ...}), _) =>
let val (ty, insts) = instantiatePoly(!typ)
! in (VARexp(r, ty), ty)
end
| VARexp(refvar as ref(OVLDvar _),_) =>
--- 412,416 ----
of VARexp(r as ref(VALvar{typ, ...}), _) =>
let val (ty, insts) = instantiatePoly(!typ)
! in (VARexp(r, SOME ty), ty)
end
| VARexp(refvar as ref(OVLDvar _),_) =>
***************
*** 418,422 ****
| CONexp(dcon as DATACON{typ,...},_) =>
let val (ty,insts) = instantiatePoly typ
! in (CONexp(dcon,ty), ty)
end
| INTexp (_,ty) => (oll_push ty; (exp,ty))
--- 419,423 ----
| CONexp(dcon as DATACON{typ,...},_) =>
let val (ty,insts) = instantiatePoly typ
! in (CONexp(dcon, SOME ty), ty)
end
| INTexp (_,ty) => (oll_push ty; (exp,ty))