Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/vis12/src/compiler/ast/type-util.sml
ViewVC logotype

Diff of /branches/vis12/src/compiler/ast/type-util.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1687, Wed Jan 25 13:02:32 2012 UTC revision 1925, Sat Jun 23 14:16:09 2012 UTC
# Line 42  Line 42 
42      val resolveDiff : Types.diff_var -> Types.diff      val resolveDiff : Types.diff_var -> Types.diff
43      val resolveShape : Types.shape_var -> Types.shape      val resolveShape : Types.shape_var -> Types.shape
44      val resolveDim : Types.dim_var -> Types.dim      val resolveDim : Types.dim_var -> Types.dim
45        val resolveVar : Types.meta_var -> Types.var_bind
46    
47    (* equality testing *)    (* equality testing *)
48      val sameDim : Types.dim * Types.dim -> bool      val sameDim : Types.dim * Types.dim -> bool
# Line 140  Line 141 
141              | SOME dim => pruneDim dim              | SOME dim => pruneDim dim
142            (* end case *))            (* end case *))
143    
144        fun resolveVar (Ty.TYPE tv) = Ty.TYPE(resolve tv)
145          | resolveVar (Ty.DIFF dv) = Ty.DIFF(resolveDiff dv)
146          | resolveVar (Ty.SHAPE sv) = Ty.SHAPE(resolveShape sv)
147          | resolveVar (Ty.DIM d) = Ty.DIM(resolveDim d)
148    
149    (* prune the head of a type *)    (* prune the head of a type *)
150      fun pruneHead ty = let      fun pruneHead ty = let
151            fun prune' (ty as Ty.T_Var(Ty.TV{bind, ...})) = (case !bind            fun prune' (ty as Ty.T_Var(Ty.TV{bind, ...})) = (case !bind

Legend:
Removed from v.1687  
changed lines
  Added in v.1925

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