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) =