CVS: sml-dist/src/compiler/FLINT/trans translate.sml, 1.33.4.5, 1.33.4.6

George Kuan <[email protected]> Wed, 12 Jul 2006 08:43:17 -0700
Newsgroups gmane.comp.lang.sml.smlnj.commits
Message-ID <[email protected]>
Update of /cvsroot/smlnj/sml-dist/src/compiler/FLINT/trans
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv12787/src/compiler/FLINT/trans

Modified Files:
      Tag: primop-branch-2
	translate.sml 
Log Message:
sigmatch is still functorized because of PLambda Types, the compiler builds now but does not bootstrap

Index: translate.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/FLINT/trans/translate.sml,v
retrieving revision 1.33.4.5
retrieving revision 1.33.4.6
diff -C2 -d -r1.33.4.5 -r1.33.4.6
*** translate.sml	11 Jul 2006 23:00:41 -0000	1.33.4.5
--- translate.sml	12 Jul 2006 15:43:13 -0000	1.33.4.6
***************
*** 25,29 ****
        structure DI = DebIndex
        structure EM = ErrorMsg
-       structure II = InlInfo
        structure LT = PLambdaType
        structure M  = Modules
--- 25,28 ----
***************
*** 854,865 ****
                   | _ => TU.applyPoly(!typ, ts)
            val (primop,intrinsicType) =
!               case PrimopMap.primopMap p
                 of SOME(p,t) => (p,t)
                  | NONE => bug "mkVE: unrecognized primop name"
            val intrinsicParams =
                (* compute intrinsic instantiation params of intrinsicType *)
!               case TU.matchInstTypes(occty,intrinsicType)
                  of SOME(_,tvs) => map TU.pruneTyvar tvs
!                  | NONE => bug "primop intrinsic type does't match occurence type"
         in case (primop, intrinsicParams)
              of (PO.POLYEQL, [t]) => eqGen(intrinsicType, t, toTcLt d)
--- 853,864 ----
                   | _ => TU.applyPoly(!typ, ts)
            val (primop,intrinsicType) =
!               case PrimOpMap.primopMap p
                 of SOME(p,t) => (p,t)
                  | NONE => bug "mkVE: unrecognized primop name"
            val intrinsicParams =
                (* compute intrinsic instantiation params of intrinsicType *)
!               case ((TU.matchInstTypes(occty,intrinsicType)) : (TP.tyvar list * TP.tyvar list) option )
                  of SOME(_,tvs) => map TU.pruneTyvar tvs
!                  | NONE => bug "primop intrinsic type doesn't match occurence type"
         in case (primop, intrinsicParams)
              of (PO.POLYEQL, [t]) => eqGen(intrinsicType, t, toTcLt d)
***************
*** 883,887 ****
                                map (toTyc d) intrinsicParams)
        end
!   | mkVE (V.VALvar{typ, prim = PrimOpId.NonPrim, ... }, ts, d) =
      (* non primop variable *)
        (case ts
--- 882,886 ----
                                map (toTyc d) intrinsicParams)
        end
!   | mkVE (v as V.VALvar{typ, prim = PrimOpId.NonPrim, ... }, ts, d) =
      (* non primop variable *)
        (case ts
***************
*** 907,916 ****
    end 
  
! fun mkStr (s as M.STR { access, info, ... }, d) =
!     mkAccInfo(access, info, fn () => strLty(s, d, compInfo), NONE)
    | mkStr _ = bug "unexpected structures in mkStr"
  
! fun mkFct (f as M.FCT { access, info, ... }, d) =
!     mkAccInfo(access, info, fn () => fctLty(f, d, compInfo), NONE)
    | mkFct _ = bug "unexpected functors in mkFct"
  
--- 906,915 ----
    end 
  
! fun mkStr (s as M.STR { access, prim, ... }, d) =
!     mkAccInfo(access, prim, fn () => strLty(s, d, compInfo), NONE)
    | mkStr _ = bug "unexpected structures in mkStr"
  
! fun mkFct (f as M.FCT { access, prim, ... }, d) =
!     mkAccInfo(access, prim, fn () => fctLty(f, d, compInfo), NONE)
    | mkFct _ = bug "unexpected functors in mkFct"
  
***************
*** 1319,1324 ****
       * dealing with a constant value that -- in principle --
       * could be subject to such things as constant folding. *)
!     let val consexp = CONexp (BT.consDcon, [BT.wordTy])
! 	fun build [] = CONexp (BT.nilDcon, [BT.wordTy])
  	  | build (d :: ds) = let
  		val i = Word.toIntX d
--- 1318,1323 ----
       * dealing with a constant value that -- in principle --
       * could be subject to such things as constant folding. *)
!     let val consexp = CONexp (BT.consDcon, [ref (TP.INSTANTIATED BT.wordTy)])
! 	fun build [] = CONexp (BT.nilDcon, [ref (TP.INSTANTIATED BT.wordTy)])
  	  | build (d :: ds) = let
  		val i = Word.toIntX d



-------------------------------------------------------------------------
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