Mercurial > urweb
comparison src/explify.sml @ 149:7420fa18d657
Record cut
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 24 Jul 2008 10:09:21 -0400 |
parents | 541282b81454 |
children | 34ccd7d2bea8 |
comparison
equal
deleted
inserted
replaced
148:15e8b9775539 | 149:7420fa18d657 |
---|---|
83 | L.ECAbs (_, x, k, e1) => (L'.ECAbs (x, explifyKind k, explifyExp e1), loc) | 83 | L.ECAbs (_, x, k, e1) => (L'.ECAbs (x, explifyKind k, explifyExp e1), loc) |
84 | 84 |
85 | L.ERecord xes => (L'.ERecord (map (fn (c, e, t) => (explifyCon c, explifyExp e, explifyCon t)) xes), loc) | 85 | L.ERecord xes => (L'.ERecord (map (fn (c, e, t) => (explifyCon c, explifyExp e, explifyCon t)) xes), loc) |
86 | L.EField (e1, c, {field, rest}) => (L'.EField (explifyExp e1, explifyCon c, | 86 | L.EField (e1, c, {field, rest}) => (L'.EField (explifyExp e1, explifyCon c, |
87 {field = explifyCon field, rest = explifyCon rest}), loc) | 87 {field = explifyCon field, rest = explifyCon rest}), loc) |
88 | L.ECut (e1, c, {field, rest}) => (L'.ECut (explifyExp e1, explifyCon c, | |
89 {field = explifyCon field, rest = explifyCon rest}), loc) | |
88 | L.EFold k => (L'.EFold (explifyKind k), loc) | 90 | L.EFold k => (L'.EFold (explifyKind k), loc) |
89 | 91 |
90 | L.EError => raise Fail ("explifyExp: EError at " ^ EM.spanToString loc) | 92 | L.EError => raise Fail ("explifyExp: EError at " ^ EM.spanToString loc) |
91 | 93 |
92 fun explifySgi (sgi, loc) = | 94 fun explifySgi (sgi, loc) = |