CVS: sml-dist/src/compiler/ElabData/types typesutil.sig, 1.2.20.6, 1.2.20.7 typesutil.sml, 1.3.2.10, 1.3.2.11

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/ElabData/types
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv12787/src/compiler/ElabData/types

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

Index: typesutil.sig
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/ElabData/types/typesutil.sig,v
retrieving revision 1.2.20.6
retrieving revision 1.2.20.7
diff -C2 -d -r1.2.20.6 -r1.2.20.7
*** typesutil.sig	11 Jul 2006 23:00:41 -0000	1.2.20.6
--- typesutil.sig	12 Jul 2006 15:43:12 -0000	1.2.20.7
***************
*** 64,73 ****
    val toplevel : occ -> bool
  
!   val instantiatePoly : Types.ty -> Types.ty * Types.ty list
  
    val compareTypes : Types.ty * Types.ty -> bool 
  
    val matchInstTypes : Types.ty * Types.ty -> 
!                          (Types.ty list * Types.ty list) option
     (* matchInstTypes probably supercedes compareTypes, and if so,
      * compareTypes should be deleted *)
--- 64,73 ----
    val toplevel : occ -> bool
  
!   val instantiatePoly : Types.ty -> Types.ty * Types.tyvar list
  
    val compareTypes : Types.ty * Types.ty -> bool 
  
    val matchInstTypes : Types.ty * Types.ty -> 
!                          (Types.tyvar list * Types.tyvar list) option
     (* matchInstTypes probably supercedes compareTypes, and if so,
      * compareTypes should be deleted *)
***************
*** 82,91 ****
    val getRecTyvarMap : int * Types.ty -> (int -> bool)
    val gtLabel : Symbol.symbol * Symbol.symbol -> bool
! (**
    val isValue : Absyn.exp -> bool
    (* checks whether an expression is nonexpansive; used to determine
     * when type generalization is permitted under the value rule *)
!   dbm: where has this moved to? typecheck.sml?
! **)
    val isVarTy : Types.ty -> bool
   
--- 82,93 ----
    val getRecTyvarMap : int * Types.ty -> (int -> bool)
    val gtLabel : Symbol.symbol * Symbol.symbol -> bool
! 
    val isValue : Absyn.exp -> bool
    (* checks whether an expression is nonexpansive; used to determine
     * when type generalization is permitted under the value rule *)
!   (*
!   dbm: where has this moved to? typecheck.sml? 
!   gk: restoring this function because PrimOpId is now self-contained.
!   *)
    val isVarTy : Types.ty -> bool
   

Index: typesutil.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/ElabData/types/typesutil.sml,v
retrieving revision 1.3.2.10
retrieving revision 1.3.2.11
diff -C2 -d -r1.3.2.10 -r1.3.2.11
*** typesutil.sml	11 Jul 2006 23:00:41 -0000	1.3.2.10
--- typesutil.sml	12 Jul 2006 15:43:13 -0000	1.3.2.11
***************
*** 438,451 ****
  end (* abstype occ *)
  
! (* instantiatePoly: ty -> ty * ty list
     if argument is a POLYty, instantiates body of POLYty with new META typa
     variables, returning the instantiatied body and the list of META tyvars.
     if argument is not a POLYty, does nothing, returning argument type *)
! fun instantiatePoly(POLYty{sign,tyfun}) : ty * ty list =
        let val args =
  	      map (fn eq => 
! 		      VARty(ref(OPEN{kind = META, depth = infinity, eq = eq})))
  		  sign
!        in (applyTyfun(tyfun, args), args)
        end
    | instantiatePoly ty = (ty,[])
--- 438,451 ----
  end (* abstype occ *)
  
! (* instantiatePoly: ty -> ty * tyvar list
     if argument is a POLYty, instantiates body of POLYty with new META typa
     variables, returning the instantiatied body and the list of META tyvars.
     if argument is not a POLYty, does nothing, returning argument type *)
! fun instantiatePoly(POLYty{sign,tyfun}) : ty * tyvar list =
        let val args =
  	      map (fn eq => 
! 		      ref(OPEN{kind = META, depth = infinity, eq = eq}))
  		  sign
!        in (applyTyfun(tyfun, map VARty args), args)
        end
    | instantiatePoly ty = (ty,[])
***************
*** 630,636 ****
  (* Modified to allow applications of lazy val rec Y combinators to
     be nonexpansive. (Taha, DBM) *) 
! (** Either InlInfo must be moved closer to here or this function needs
!     to move to where InlInfo is. -GK *)
! (**
  local open Absyn in
  
--- 630,634 ----
  (* Modified to allow applications of lazy val rec Y combinators to
     be nonexpansive. (Taha, DBM) *) 
! 
  local open Absyn in
  
***************
*** 706,710 ****
    end
  end (* local *)
!  *)
  
  
--- 704,708 ----
    end
  end (* local *)
!  
  
  



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