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/Elaborator/types/unify.sml
ViewVC logotype

Diff of /sml/branches/primop-branch-3/compiler/Elaborator/types/unify.sml

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

revision 2519, Mon May 7 20:01:47 2007 UTC revision 2520, Mon May 7 20:02:57 2007 UTC
# Line 94  Line 94 
94   * because an ERRORtyc should never occur in a CONty and hence an eqprop   * because an ERRORtyc should never occur in a CONty and hence an eqprop
95   * of one of them should never be needed.   * of one of them should never be needed.
96   *   *
97     * [GK 5/7/07] The above note is not true. See bug271. Since an error
98     * was already flagged, it seems harmless to return YES for the eqprop
99     * to avoid possibly spurious eqprop related warnings.
100     *
101   * Calling this function on a DEFtyc also produces an impossible because   * Calling this function on a DEFtyc also produces an impossible because
102   * the current eqprop scheme is insufficiently expressive to describe   * the current eqprop scheme is insufficiently expressive to describe
103   * the possibilities.  (Ex: first argument must be an eq type but not   * the possibilities.  (Ex: first argument must be an eq type but not
# Line 104  Line 108 
108      (case !eq of ABS => NO | ep => ep)      (case !eq of ABS => NO | ep => ep)
109    | tyconEqprop (RECORDtyc _)  = YES    | tyconEqprop (RECORDtyc _)  = YES
110    | tyconEqprop (DEFtyc _) = bug "tyconEqprop: DEFtyc"    | tyconEqprop (DEFtyc _) = bug "tyconEqprop: DEFtyc"
111    | tyconEqprop (ERRORtyc) = bug "tyconEqprop: ERRORtyc"    | tyconEqprop (ERRORtyc) = YES
112    | tyconEqprop _ = bug "unexpected tycon in tyconEqprop"    | tyconEqprop _ = bug "unexpected tycon in tyconEqprop"
113    
114  (*  (*
# Line 249  Line 253 
253                                  (unifyTy(ty1,ty2); unifyArgs(ss,tys1,tys2))                                  (unifyTy(ty1,ty2); unifyArgs(ss,tys1,tys2))
254                                | unifyArgs(false::ss, _::tys1, _::tys2) =                                | unifyArgs(false::ss, _::tys1, _::tys2) =
255                                  unifyArgs(ss,tys1,tys2)                                  unifyArgs(ss,tys1,tys2)
256                                  | unifyArgs _ =
257                                      bug "unifyTy: arg ty lists wrong length"
258                          in unifyArgs(strict,args1,args2)                          in unifyArgs(strict,args1,args2)
259                          end                          end
260                        | _ => ListPair.app unifyTy (args1,args2))                        | _ => ListPair.app unifyTy (args1,args2))

Legend:
Removed from v.2519  
changed lines
  Added in v.2520

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