Mercurial > urweb
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 |