Mercurial > urweb
comparison src/explify.sml @ 493:ae03d09043c1
Add CutMulti
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 11 Nov 2008 19:20:37 -0500 |
parents | d34834af4512 |
children | 44958d74c43f |
comparison
equal
deleted
inserted
replaced
492:4a241d108a2c | 493:ae03d09043c1 |
---|---|
103 {field = explifyCon field, rest = explifyCon rest}), loc) | 103 {field = explifyCon field, rest = explifyCon rest}), loc) |
104 | L.EConcat (e1, c1, e2, c2) => (L'.EConcat (explifyExp e1, explifyCon c1, explifyExp e2, explifyCon c2), | 104 | L.EConcat (e1, c1, e2, c2) => (L'.EConcat (explifyExp e1, explifyCon c1, explifyExp e2, explifyCon c2), |
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, | |
109 {rest = explifyCon rest}), loc) | |
108 | L.EFold k => (L'.EFold (explifyKind k), loc) | 110 | L.EFold k => (L'.EFold (explifyKind k), loc) |
109 | 111 |
110 | L.ECase (e, pes, {disc, result}) => | 112 | L.ECase (e, pes, {disc, result}) => |
111 (L'.ECase (explifyExp e, | 113 (L'.ECase (explifyExp e, |
112 map (fn (p, e) => (explifyPat p, explifyExp e)) pes, | 114 map (fn (p, e) => (explifyPat p, explifyExp e)) pes, |