comparison src/explify.sml @ 623:588b9d16b00a

Start of kind polymorphism, up to the point where demo/hello elaborates with updated Basis/Top
author Adam Chlipala <adamc@hcoop.net>
date Sun, 22 Feb 2009 16:10:25 -0500
parents 8998114760c1
children 354800878b4d
comparison
equal deleted inserted replaced
622:d64533157f40 623:588b9d16b00a
105 loc) 105 loc)
106 | L.ECut (e1, c, {field, rest}) => (L'.ECut (explifyExp e1, explifyCon c, 106 | L.ECut (e1, c, {field, rest}) => (L'.ECut (explifyExp e1, explifyCon c,
107 {field = explifyCon field, rest = explifyCon rest}), loc) 107 {field = explifyCon field, rest = explifyCon rest}), loc)
108 | L.ECutMulti (e1, c, {rest}) => (L'.ECutMulti (explifyExp e1, explifyCon c, 108 | L.ECutMulti (e1, c, {rest}) => (L'.ECutMulti (explifyExp e1, explifyCon c,
109 {rest = explifyCon rest}), loc) 109 {rest = explifyCon rest}), loc)
110 | L.EFold k => (L'.EFold (explifyKind k), loc)
111
112 | L.ECase (e, pes, {disc, result}) => 110 | L.ECase (e, pes, {disc, result}) =>
113 (L'.ECase (explifyExp e, 111 (L'.ECase (explifyExp e,
114 map (fn (p, e) => (explifyPat p, explifyExp e)) pes, 112 map (fn (p, e) => (explifyPat p, explifyExp e)) pes,
115 {disc = explifyCon disc, result = explifyCon result}), loc) 113 {disc = explifyCon disc, result = explifyCon result}), loc)
116 114