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

SCM Repository

[smlnj] Diff of /sml/branches/primop-branch-3/compiler/ElabData/types/typesutil.sml
ViewVC logotype

Diff of /sml/branches/primop-branch-3/compiler/ElabData/types/typesutil.sml

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

revision 2560, Wed May 16 22:24:49 2007 UTC revision 2561, Thu May 17 03:41:11 2007 UTC
# Line 246  Line 246 
246    
247  fun headReduceType ty = headReduceType(reduceType ty) handle ReduceType => ty  fun headReduceType ty = headReduceType(reduceType ty) handle ReduceType => ty
248    
249    (* used in SCHEME tyvar case of instTyvar in Unify. Reduce until we have
250     * either a noninstantiated tyvar, or a "null CONty", which is guaranteed
251     * to be closed (tyvar free) *)
252    fun nullReduceType ty =
253        (case ty
254           of CONty(DEFtyc{tyfun,...}, nil) => ty
255            | _ => nullReduceType(reduceType ty))
256        handle ReduceType => ty
257    
258  fun equalType(ty: ty,ty': ty) : bool =  fun equalType(ty: ty,ty': ty) : bool =
259      let fun eq(IBOUND i1, IBOUND i2) = i1 = i2      let fun eq(IBOUND i1, IBOUND i2) = i1 = i2
260            | eq(VARty(tv),VARty(tv')) = eqTyvar(tv,tv')            | eq(VARty(tv),VARty(tv')) = eqTyvar(tv,tv')

Legend:
Removed from v.2560  
changed lines
  Added in v.2561

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