comparison src/corify.sml @ 176:33d4a8eea484

Case through explify
author Adam Chlipala <adamc@hcoop.net>
date Thu, 31 Jul 2008 16:28:55 -0400
parents 80192edca30d
children 5d030ee143e2
comparison
equal deleted inserted replaced
175:b2d752455182 176:33d4a8eea484
392 | L.EField (e1, c, {field, rest}) => (L'.EField (corifyExp st e1, corifyCon st c, 392 | L.EField (e1, c, {field, rest}) => (L'.EField (corifyExp st e1, corifyCon st c,
393 {field = corifyCon st field, rest = corifyCon st rest}), loc) 393 {field = corifyCon st field, rest = corifyCon st rest}), loc)
394 | L.ECut (e1, c, {field, rest}) => (L'.ECut (corifyExp st e1, corifyCon st c, 394 | L.ECut (e1, c, {field, rest}) => (L'.ECut (corifyExp st e1, corifyCon st c,
395 {field = corifyCon st field, rest = corifyCon st rest}), loc) 395 {field = corifyCon st field, rest = corifyCon st rest}), loc)
396 | L.EFold k => (L'.EFold (corifyKind k), loc) 396 | L.EFold k => (L'.EFold (corifyKind k), loc)
397 | L.ECase _ => raise Fail "Corify ECase"
397 | L.EWrite e => (L'.EWrite (corifyExp st e), loc) 398 | L.EWrite e => (L'.EWrite (corifyExp st e), loc)
398 399
399 fun corifyDecl ((d, loc : EM.span), st) = 400 fun corifyDecl ((d, loc : EM.span), st) =
400 case d of 401 case d of
401 L.DCon (x, n, k, c) => 402 L.DCon (x, n, k, c) =>