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