CVS: sml-dist/src/compiler/ElabData/modules modules.sig, 1.2.20.2, 1.2.20.3 modules.sml, 1.2.20.1, 1.2.20.2 moduleutil.sig, 1.2.20.1, 1.2.20.2 moduleutil.sml, 1.2.20.1, 1.2.20.2

George Kuan <[email protected]> Thu, 06 Jul 2006 15:28:26 -0700
Newsgroups gmane.comp.lang.sml.smlnj.commits
Message-ID <[email protected]>
Update of /cvsroot/smlnj/sml-dist/src/compiler/ElabData/modules
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv13849/src/compiler/ElabData/modules

Modified Files:
      Tag: primop-branch-2
	modules.sig modules.sml moduleutil.sig moduleutil.sml 
Log Message:
ElabData work on moduleutil.sml mainly

Index: modules.sig
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/ElabData/modules/modules.sig,v
retrieving revision 1.2.20.2
retrieving revision 1.2.20.3
diff -C2 -d -r1.2.20.2 -r1.2.20.3
*** modules.sig	6 Jul 2006 20:10:33 -0000	1.2.20.2
--- modules.sig	6 Jul 2006 22:28:23 -0000	1.2.20.3
***************
*** 165,169 ****
       rlzn   : strEntity,
       access : Access.access,
!      info   : PrimOpId.strPrimElems}
  
  and fctEntity =
--- 165,169 ----
       rlzn   : strEntity,
       access : Access.access,
!      prim   : PrimOpId.strPrimElem}
  
  and fctEntity =
***************
*** 179,183 ****
       rlzn   : fctEntity,
       access : Access.access, 
!      info   : PrimOpId.strPrimElems}
  
  (* the stamp and arith inside Types.tycon are critical *)  
--- 179,183 ----
       rlzn   : fctEntity,
       access : Access.access, 
!      prim   : PrimOpId.strPrimElem}
  
  (* the stamp and arith inside Types.tycon are critical *)  

Index: modules.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/ElabData/modules/modules.sml,v
retrieving revision 1.2.20.1
retrieving revision 1.2.20.2
diff -C2 -d -r1.2.20.1 -r1.2.20.2
*** modules.sml	6 Jul 2006 16:35:38 -0000	1.2.20.1
--- modules.sml	6 Jul 2006 22:28:23 -0000	1.2.20.2
***************
*** 184,188 ****
       rlzn   : strEntity,
       access : A.access,
!      info   : PrimOpId.strElemPrimIds}
  
  and fctEntity =
--- 184,188 ----
       rlzn   : strEntity,
       access : A.access,
!      prim   : PrimOpId.strPrimElem}
  
  and fctEntity =
***************
*** 198,202 ****
       rlzn   : fctEntity, 
       access : A.access,
!      info   : II.ii}
  
  (* the stamp and arith inside T.tycon are critical *)  
--- 198,202 ----
       rlzn   : fctEntity, 
       access : A.access,
!      prim   : PrimOpId.strPrimElem}
  
  (* the stamp and arith inside T.tycon are critical *)  

Index: moduleutil.sig
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/ElabData/modules/moduleutil.sig,v
retrieving revision 1.2.20.1
retrieving revision 1.2.20.2
diff -C2 -d -r1.2.20.1 -r1.2.20.2
*** moduleutil.sig	20 Jun 2006 22:15:23 -0000	1.2.20.1
--- moduleutil.sig	6 Jul 2006 22:28:24 -0000	1.2.20.2
***************
*** 17,25 ****
  
  val getStr : Modules.elements * Modules.entityEnv
! 	     * Symbol.symbol * Access.access * InlInfo.inl_info
               -> Modules.Structure * EntPath.entVar
  
  val getFct : Modules.elements * Modules.entityEnv 
!              * Symbol.symbol * Access.access * InlInfo.inl_info
               -> Modules.Functor * EntPath.entVar
  
--- 17,25 ----
  
  val getStr : Modules.elements * Modules.entityEnv
! 	     * Symbol.symbol * Access.access * PrimOpId.strPrimElem
               -> Modules.Structure * EntPath.entVar
  
  val getFct : Modules.elements * Modules.entityEnv 
!              * Symbol.symbol * Access.access * PrimOpId.strPrimElem
               -> Modules.Functor * EntPath.entVar
  
***************
*** 69,73 ****
  
  (*** extract inl_info from a list of bindings *)
! val extractInfo : Bindings.binding -> InlInfo.inl_info
  
  val getSigSymbols: Modules.Signature -> Symbol.symbol list
--- 69,73 ----
  
  (*** extract inl_info from a list of bindings *)
! val extractInfo : Bindings.binding -> PrimOpId.primId
  
  val getSigSymbols: Modules.Signature -> Symbol.symbol list

Index: moduleutil.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/ElabData/modules/moduleutil.sml,v
retrieving revision 1.2.20.1
retrieving revision 1.2.20.2
diff -C2 -d -r1.2.20.1 -r1.2.20.2
*** moduleutil.sml	20 Jun 2006 22:15:23 -0000	1.2.20.1
--- moduleutil.sml	6 Jul 2006 22:28:24 -0000	1.2.20.2
***************
*** 8,12 ****
        structure SP  = SymPath
        structure IP  = InvPath
-       structure II = InlInfo
        structure CVP = ConvertPaths
        structure EP  = EntPath
--- 8,11 ----
***************
*** 80,84 ****
   	  of STRent entity => 
                 (STR{sign = sign, rlzn = entity, access = A.selAcc(dacc,slot),
!                     info = II.selStrInfo (dinfo, slot)},
  		entVar)
  	   | _ => bug "getStr: bad entity")
--- 79,83 ----
   	  of STRent entity => 
                 (STR{sign = sign, rlzn = entity, access = A.selAcc(dacc,slot),
!                     prim = PrimOpId.selStrPrimId (dinfo, slot)},
  		entVar)
  	   | _ => bug "getStr: bad entity")
***************
*** 92,96 ****
            of FCTent entity => 
                 (FCT{sign = sign, rlzn = entity, access = A.selAcc(dacc,slot),
!                     info = II.selStrInfo (dinfo, slot)},
  		entVar)
             | _ => bug "getFct: bad entity")
--- 91,95 ----
            of FCTent entity => 
                 (FCT{sign = sign, rlzn = entity, access = A.selAcc(dacc,slot),
!                     prim = PrimOpId.selStrPrimId (dinfo, slot)},
  		entVar)
             | _ => bug "getFct: bad entity")
***************
*** 108,112 ****
    | getStrName _ = bug "getStrName"
  
! fun getStrs (STR { sign = SIG sg, rlzn = {entities,...}, access,info,...}) =
      let val elements = #elements sg
      in
--- 107,111 ----
    | getStrName _ = bug "getStrName"
  
! fun getStrs (STR { sign = SIG sg, rlzn = {entities,...}, access,prim,...}) =
      let val elements = #elements sg
      in
***************
*** 116,120 ****
  			 rlzn = EE.lookStrEnt(entities,entVar),
  			 access = A.selAcc(access, slot), 
! 			 info = II.selStrInfo (info, slot)})
  	      | _ => NONE)
  	    elements
--- 115,119 ----
  			 rlzn = EE.lookStrEnt(entities,entVar),
  			 access = A.selAcc(access, slot), 
! 			 prim = PrimOpId.selStrPrimId (prim, slot)})
  	      | _ => NONE)
  	    elements
***************
*** 176,180 ****
    | strDefToStr(VARstrDef(sign,entPath), entEnv) =
      STR{sign=sign,rlzn=EE.lookStrEP(entEnv,entPath),
!         access=A.nullAcc, info=II.nullInfo}
  
  (* 
--- 175,179 ----
    | strDefToStr(VARstrDef(sign,entPath), entEnv) =
      STR{sign=sign,rlzn=EE.lookStrEP(entEnv,entPath),
!         access=A.nullAcc, info=StrE []}
  
  (* 
***************
*** 450,459 ****
    end
  
! (** extract inl_info from a list of bindings *)
! fun extractInfo(B.STRbind (M.STR { info, ... })) = info
!   | extractInfo(B.FCTbind (M.FCT { info, ... })) = info
!   | extractInfo(B.VALbind (V.VALvar {info, ...})) = info
!   | extractInfo(B.CONbind _) = II.nullInfo
!   | extractInfo _ = bug "unexpected binding in extractInfo"
  
  (* extract all signature names from a structure --
--- 449,475 ----
    end
  
! (** Get a strPrimElem with all the primIds found in 
!     a list of bindings 
!  
!     Used in Elaborator/elaborate/elabmod.sml and 
!     SigMatch
!  *)
! fun strPrimElemInBinds [] = StrE [] 
!   | strPrimElemInBinds (bind::rest) =
!     let
! 	val strPrims =
! 	   (case bind 
! 	     of B.STRbind (M.STR { prim, ... }) => prim 
! 	      | B.FCTbind (M.FCT { prim, ... }) => prim
! 	      | B.VALbind (V.VALvar {info, ...}) => PrimE info
! 	      | B.CONbind _ => PrimE NonPrim
! 	      | B.TYCbind _  => 
! 		  bug "unexpected binding in strPrimElemInBinds")
!     in  
!        (case (strPrimElemInBinds rest) of
! 	    (StrE restPrims) =>
! 	      StrE (strPrims :: restPrims)
! 	  | PrimE id => StrE (PrimE id))
!     end
  
  (* extract all signature names from a structure --


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642