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/gatien-branch/compiler/Elaborator/srcinfo/conversion.sml
ViewVC logotype

Diff of /sml/branches/gatien-branch/compiler/Elaborator/srcinfo/conversion.sml

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

revision 3131, Wed Jul 23 19:00:55 2008 UTC revision 3132, Wed Jul 23 20:20:58 2008 UTC
# Line 38  Line 38 
38          case ty of          case ty of
39              T.IBOUND i =>              T.IBOUND i =>
40              Ibound i              Ibound i
41            | T.VARty _ => (            | T.VARty _ =>
42              case TypesUtil.prune ty of              let fun strip (T.MARKty (ty, _)) = strip ty
43                      | strip ty = ty
44                in case strip (TypesUtil.prune ty) of
45                  T.VARty (ref (T.LBOUND {index,depth,...})) =>                  T.VARty (ref (T.LBOUND {index,depth,...})) =>
46                  Lbound {index=index,depth=depth}                  Lbound {index=index,depth=depth}
47                | T.VARty (ref (T.UBOUND {name,...})) => Ubound name                | T.VARty (ref (T.UBOUND {name,...})) => Ubound name
48                     | T.VARty (ref (T.OPEN _)) =>
49                       ErrorMsg.impossible "Ens_types2: ty_to_ty'.2 OPEN"
50                     | T.VARty (ref (T.LITERAL _)) =>
51                       ErrorMsg.impossible "Ens_types2: ty_to_ty'.2 LITERAL"
52                | T.VARty _ => ErrorMsg.impossible "Ens_types2: ty_to_ty'.2"                | T.VARty _ => ErrorMsg.impossible "Ens_types2: ty_to_ty'.2"
53                | typ => ty_to_ty' typ                | typ => ty_to_ty' typ
54              )              end
55             | T.POLYty {tyfun = T.TYFUN {arity, body}, ...} =>             | T.POLYty {tyfun = T.TYFUN {arity, body}, ...} =>
56                 Poly {arity = arity, body = ty_to_ty' body}                 Poly {arity = arity, body = ty_to_ty' body}
57             | T.CONty (tycon, tyl) =>             | T.CONty (tycon, tyl) =>
58                 Conty (to_stub tycon, List.map ty_to_ty' tyl)                 Conty (to_stub tycon, List.map ty_to_ty' tyl)
59               | T.MARKty (ty, _) => ty_to_ty' ty
60             | (T.WILDCARDty | T.UNDEFty) =>             | (T.WILDCARDty | T.UNDEFty) =>
61                 ErrorMsg.impossible "Ens_types2: ty_to_ty'.1"                 ErrorMsg.impossible "Ens_types2: ty_to_ty'.1"
62    

Legend:
Removed from v.3131  
changed lines
  Added in v.3132

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