CVS: sml-dist/src/compiler/Elaborator/modules sigmatch.sml, 1.6.8.11, 1.6.8.12
David MacQueen <[email protected]> Tue, 25 Jul 2006 10:02:22 -0700
| Newsgroups | gmane.comp.lang.sml.smlnj.commits |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/smlnj/sml-dist/src/compiler/Elaborator/modules
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv3100/src/compiler/Elaborator/modules
Modified Files:
Tag: primop-branch-2
sigmatch.sml
Log Message:
added questions to notes, touched up sigmatch
Index: sigmatch.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/Elaborator/modules/sigmatch.sml,v
retrieving revision 1.6.8.11
retrieving revision 1.6.8.12
diff -C2 -d -r1.6.8.11 -r1.6.8.12
*** sigmatch.sml 24 Jul 2006 23:10:58 -0000 1.6.8.11
--- sigmatch.sml 25 Jul 2006 17:02:19 -0000 1.6.8.12
***************
*** 199,204 ****
val res = (Unify.unifyTy(actinst, specinst); true) handle _ => false
(* dbm: shouldn't this unifyTy always succeed, because when called
! in packElems, the structure will already have been matched against
! the signature (according to the comment before packStr) *)
val instbtvs = map TU.tyvarType insttys0
--- 199,204 ----
val res = (Unify.unifyTy(actinst, specinst); true) handle _ => false
(* dbm: shouldn't this unifyTy always succeed, because when called
! * in packElems, the structure will already have been matched against
! * the signature (according to the comment before packStr) [KM ???]*)
val instbtvs = map TU.tyvarType insttys0
***************
*** 274,278 ****
elements=strElements,...},
rlzn as {stamp=strStamp,entities=strEntEnv,...},
! access = rootAcc, prim = rootInfo },
strName : S.symbol,
depth, matchEntEnv,
--- 274,278 ----
elements=strElements,...},
rlzn as {stamp=strStamp,entities=strEntEnv,...},
! access = rootAcc, prim = rootPrim },
strName : S.symbol,
depth, matchEntEnv,
***************
*** 784,788 ****
ST.toString entVar])
val (strStr, strEntVar) =
! MU.getStr(strElements, strEntEnv, sym, rootAcc, rootInfo)
(* verify spec definition, if any *)
--- 784,788 ----
ST.toString entVar])
val (strStr, strEntVar) =
! MU.getStr(strElements, strEntEnv, sym, rootAcc, rootPrim)
(* verify spec definition, if any *)
***************
*** 837,841 ****
val (strFct, fctEntVar) =
! MU.getFct(strElements, strEntEnv, sym, rootAcc, rootInfo)
val exp' = M.VARfct(rev(fctEntVar::epath))
val rpath' = IP.extend(rpath,sym)
--- 837,841 ----
val (strFct, fctEntVar) =
! MU.getFct(strElements, strEntEnv, sym, rootAcc, rootPrim)
val exp' = M.VARfct(rev(fctEntVar::epath))
val rpath' = IP.extend(rpath,sym)
***************
*** 864,868 ****
val acttyp = typeInOriginal("$actty(val/val)", acttyp)
val dacc = DA.selAcc(rootAcc, actslot)
! val prim = PrimOpId.selValPrimFromStrPrim(rootInfo, actslot)
val (btvs,ptvs) = matchTypes(spectyp, acttyp, sym)
--- 864,868 ----
val acttyp = typeInOriginal("$actty(val/val)", acttyp)
val dacc = DA.selAcc(rootAcc, actslot)
! val prim = PrimOpId.selValPrimFromStrPrim(rootPrim, actslot)
val (btvs,ptvs) = matchTypes(spectyp, acttyp, sym)
***************
*** 1214,1218 ****
str as M.STR {access=rootAcc,
rlzn=srcRlzn as {entities=srcEntEnv,...},
! prim=rootInfo, ... },
abstycs, strName, depth, entEnv, rpath, statenv, region,
compInfo as {mkLvar=mkv, error, ...}: EU.compInfo)
--- 1214,1218 ----
str as M.STR {access=rootAcc,
rlzn=srcRlzn as {entities=srcEntEnv,...},
! prim=rootPrim, ... },
abstycs, strName, depth, entEnv, rpath, statenv, region,
compInfo as {mkLvar=mkv, error, ...}: EU.compInfo)
***************
*** 1242,1246 ****
val srcStr = M.STR{sign=thisSpecsig, rlzn=srcStrRlzn,
access=DA.selAcc(rootAcc,s),
! prim=PrimOpId.selStrPrimId(rootInfo,s)}
val rpath' = IP.extend(rpath, sym)
--- 1242,1246 ----
val srcStr = M.STR{sign=thisSpecsig, rlzn=srcStrRlzn,
access=DA.selAcc(rootAcc,s),
! prim=PrimOpId.selStrPrimId(rootPrim,s)}
val rpath' = IP.extend(rpath, sym)
***************
*** 1272,1276 ****
M.FCT {sign=thisSpecsig, rlzn=srcFctRlzn,
access=DA.selAcc(rootAcc,s),
! prim=PrimOpId.selStrPrimId(rootInfo,s)}
val rpath' = IP.extend(rpath, sym)
--- 1272,1276 ----
M.FCT {sign=thisSpecsig, rlzn=srcFctRlzn,
access=DA.selAcc(rootAcc,s),
! prim=PrimOpId.selStrPrimId(rootPrim,s)}
val rpath' = IP.extend(rpath, sym)
***************
*** 1299,1311 ****
val srctyp = typeInSrc("$spec-srcty(packStr-val)", spectyp)
val dacc = DA.selAcc(rootAcc, s)
! val dinfo = PrimOpId.selValPrimFromStrPrim(rootInfo, s)
(* dbm: assume that eqflag will always be true because of prior successful
* sigmatch, therefore this does nothing ---
val (instys, btvs, resinst, eqflag) =
! absEqvTy(restyp, srctyp, dinfo)
*)
val spath = SP.SPATH[sym]
val srcvar = VALvar{path=spath, typ=ref srctyp,
! access=dacc, prim=dinfo}
(* does nothing -- just use decs and srcvar below
--- 1299,1311 ----
val srctyp = typeInSrc("$spec-srcty(packStr-val)", spectyp)
val dacc = DA.selAcc(rootAcc, s)
! val prim = PrimOpId.selValPrimFromStrPrim(rootPrim, s)
(* dbm: assume that eqflag will always be true because of prior successful
* sigmatch, therefore this does nothing ---
val (instys, btvs, resinst, eqflag) =
! absEqvTy(restyp, srctyp, prim)
*)
val spath = SP.SPATH[sym]
val srcvar = VALvar{path=spath, typ=ref srctyp,
! access=dacc, prim=prim}
(* does nothing -- just use decs and srcvar below
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV