CVS: sml-dist/src/compiler/Elaborator/elaborate elabutil.sml, 1.9.4.2, 1.9.4.3

George Kuan <[email protected]> Fri, 07 Jul 2006 14:49:50 -0700
Newsgroups gmane.comp.lang.sml.smlnj.commits
Message-ID <[email protected]>
Update of /cvsroot/smlnj/sml-dist/src/compiler/Elaborator/elaborate
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv18773/src/compiler/Elaborator/elaborate

Modified Files:
      Tag: primop-branch-2
	elabutil.sml 
Log Message:
elabdata builds again, fixed prim.sml

Index: elabutil.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/Elaborator/elaborate/elabutil.sml,v
retrieving revision 1.9.4.2
retrieving revision 1.9.4.3
diff -C2 -d -r1.9.4.2 -r1.9.4.3
*** elabutil.sml	7 Jul 2006 21:06:09 -0000	1.9.4.2
--- elabutil.sml	7 Jul 2006 21:49:48 -0000	1.9.4.3
***************
*** 85,101 ****
  
  
! val TRUEpat = CONpat(trueDcon,NONE) (** These constructors were updated to the ty option type - GK *)
! val TRUEexp = CONexp(trueDcon,NONE)
! val FALSEpat = CONpat(falseDcon,NONE)
! val FALSEexp = CONexp(falseDcon,NONE)
  
! val NILpat = CONpat(nilDcon,NONE)
! val NILexp = CONexp(nilDcon,NONE)
  val CONSpat = fn pat => APPpat(consDcon,[],pat)
! val CONSexp = CONexp(consDcon,NONE)
  
  val unitExp = AbsynUtil.unitExp
  val unitPat = RECORDpat{fields = nil, flex = false, typ = ref UNDEFty}
! val bogusExp = VARexp(ref(V.mkVALvar(bogusID, A.nullAcc)), NONE)
  
  (* Verifies that all the elements of a list are unique *)
--- 85,101 ----
  
  
! val TRUEpat = CONpat(trueDcon,[]) 
! val TRUEexp = CONexp(trueDcon,[])
! val FALSEpat = CONpat(falseDcon,[])
! val FALSEexp = CONexp(falseDcon,[])
  
! val NILpat = CONpat(nilDcon,[])
! val NILexp = CONexp(nilDcon,[])
  val CONSpat = fn pat => APPpat(consDcon,[],pat)
! val CONSexp = CONexp(consDcon,[])
  
  val unitExp = AbsynUtil.unitExp
  val unitPat = RECORDpat{fields = nil, flex = false, typ = ref UNDEFty}
! val bogusExp = VARexp(ref(V.mkVALvar(bogusID, A.nullAcc)), [])
  
  (* Verifies that all the elements of a list are unique *)
***************
*** 250,254 ****
        (fn marker =>
            RULE(WILDpat, 
! 	       marker(RAISEexp(CONexp(CoreAccess.getExn(env,name),NONE),
  			       UNDEFty))))
  (** Updated to the ty option type - GK *)
--- 250,254 ----
        (fn marker =>
            RULE(WILDpat, 
! 	       marker(RAISEexp(CONexp(CoreAccess.getExn(env,name),[]),
  			       UNDEFty))))
  (** Updated to the ty option type - GK *)
***************
*** 283,291 ****
          of [(v, nv, sym)] =>
              (VALdec [VB{pat=VARpat nv, boundtvs=[], tyvars=tyvars,
!                         exp=LETexp(odec, VARexp(ref v, NONE))}]) (** Updated to the ty option type -GK *)
           | _ => 
!           (let val vs = map (fn (v, _, _) => VARexp(ref v, NONE)) vars (** Updated to the ty option type -GK*)
                 val rootv = newVALvar(internalSym, mkv)
!                val rvexp = VARexp(ref rootv, NONE) (** Updated to the ty option type -GK *)
                 val nvdec = 
                   VALdec([VB{pat=VARpat rootv, boundtvs=[], tyvars=tyvars,
--- 283,291 ----
          of [(v, nv, sym)] =>
              (VALdec [VB{pat=VARpat nv, boundtvs=[], tyvars=tyvars,
!                         exp=LETexp(odec, VARexp(ref v, []))}]) 
           | _ => 
!           (let val vs = map (fn (v, _, _) => VARexp(ref v, [])) vars 
                 val rootv = newVALvar(internalSym, mkv)
!                val rvexp = VARexp(ref rootv, []) 
                 val nvdec = 
                   VALdec([VB{pat=VARpat rootv, boundtvs=[], tyvars=tyvars,
***************
*** 328,332 ****
  		fun not1(f,[a]) = a
  		  | not1(f,l) = f l
! 		fun dovar valvar = VARexp(ref(valvar),NONE) (** Updated to the ty option type - GK *)
  		fun doclause ({pats,exp,resultty=NONE}) =
  			      RULE(not1(TUPLEpat,pats), exp)
--- 328,332 ----
  		fun not1(f,[a]) = a
  		  | not1(f,l) = f l
! 		fun dovar valvar = VARexp(ref(valvar),[]) 
  		fun doclause ({pats,exp,resultty=NONE}) =
  			      RULE(not1(TUPLEpat,pats), exp)
***************
*** 364,368 ****
  fun makeHANDLEexp(exp, rules, compInfo as {mkLvar=mkv, ...}: compInfo) =
      let val v = newVALvar(exnID, mkv)
!         val r = RULE(VARpat v, RAISEexp(VARexp(ref(v),NONE),UNDEFty)) (** Updated to the ty option type - GK*)
  	val rules = completeMatch' r rules 
       in HANDLEexp(exp, (rules,UNDEFty))
--- 364,368 ----
  fun makeHANDLEexp(exp, rules, compInfo as {mkLvar=mkv, ...}: compInfo) =
      let val v = newVALvar(exnID, mkv)
!         val r = RULE(VARpat v, RAISEexp(VARexp(ref(v),[]),UNDEFty)) (** Updated to the ty option type - GK*)
  	val rules = completeMatch' r rules 
       in HANDLEexp(exp, (rules,UNDEFty))
***************
*** 377,381 ****
        of SymPath.SPATH[id] =>
  	   ((case LU.lookValSym (env,id,fn _ => raise SE.Unbound)
! 	       of V.CON c => CONpat(c,NONE) (** Updated to the ty option type - GK *) 
  	        | _ => VARpat(newVALvar(id,mkv)))
  	    handle SE.Unbound => VARpat(newVALvar(id,mkv)))
--- 377,381 ----
        of SymPath.SPATH[id] =>
  	   ((case LU.lookValSym (env,id,fn _ => raise SE.Unbound)
! 	       of V.CON c => CONpat(c,[]) 
  	        | _ => VARpat(newVALvar(id,mkv)))
  	    handle SE.Unbound => VARpat(newVALvar(id,mkv)))
***************
*** 387,392 ****
  			   SymPath.toString spath)
  			  nullErrorBody;
! 			 (bogusCON,NONE)) (** Updated to ty option type -GK*)
! 		      | V.CON c => (c,NONE)) (** Updated to ty option type -GK*)
  		   handle SE.Unbound => bug "unbound untrapped")
  
--- 387,392 ----
  			   SymPath.toString spath)
  			  nullErrorBody;
! 			 (bogusCON,[])) 
! 		      | V.CON c => (c,[])) 
  		   handle SE.Unbound => bug "unbound untrapped")
  
***************
*** 419,424 ****
  
  fun makeAPPpat err (CONpat(d as DATACON{const=false,lazyp,...},t),p) =
!       let val t' = (case t of NONE => [] | SOME t'' => [t'']) (** Need for ty option containing CONpat -GK*)
! 	  val p1 = APPpat(d,t',p) (** Updated to ty option type -GK *) 
         in if lazyp (* LAZY *)
  	  then APPpat(BT.dollarDcon, [], p1)
--- 419,424 ----
  
  fun makeAPPpat err (CONpat(d as DATACON{const=false,lazyp,...},t),p) =
!       let 
! 	  val p1 = APPpat(d,t,p) 
         in if lazyp (* LAZY *)
  	  then APPpat(BT.dollarDcon, [], p1)


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