Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /sml/trunk/src/MLRISC/gc-safety/gc-type-system.sig
ViewVC logotype

View of /sml/trunk/src/MLRISC/gc-safety/gc-type-system.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 775 - (download) (as text) (annotate)
Fri Jan 12 01:17:51 2001 UTC (18 years, 10 months ago) by leunga
File size: 771 byte(s)

    Merging the types labexp and mltree.
    tag leunga-20010111-labexp=mltree
(*
 * This signature describes the interface to a gc type system. 
 * This encapsulates everything dealing with GC safety analysis
 * into one single signature.
 *)
signature GC_TYPE_SYSTEM =
sig
   structure GC  : GC_TYPE
   structure RTL : MLTREE_RTL

   (* Given a RTL expression, return the gc type of the value *)
   val typeOf : (RTL.T.var -> GC.gctype) -> RTL.exp -> GC.gctype

   (* Given an RTL effect, return the change to gctype *)
   val effectOf : 
        {lookup : RTL.var -> GC.gctype,
         update : RTL.var * GC.gctype * 'e -> 'e
        } -> 
        {action : RTL.rtl,
         dst    : RTL.var list,
         src    : RTL.var list,
         effect : 'e
        } -> 'e

   (* Is a type recoverable? *)
   val isRecoverable : GC.gctype -> bool
end

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0