Mercurial > urweb
comparison src/explify.sml @ 72:0ee10f4d73cf
Explify efold
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 26 Jun 2008 11:11:13 -0400 |
parents | 6431b315a1e3 |
children | 522f4bd3955e |
comparison
equal
deleted
inserted
replaced
71:6431b315a1e3 | 72:0ee10f4d73cf |
---|---|
77 | L.ECAbs (_, x, k, e1) => (L'.ECAbs (x, explifyKind k, explifyExp e1), loc) | 77 | L.ECAbs (_, x, k, e1) => (L'.ECAbs (x, explifyKind k, explifyExp e1), loc) |
78 | 78 |
79 | L.ERecord xes => (L'.ERecord (map (fn (c, e, t) => (explifyCon c, explifyExp e, explifyCon t)) xes), loc) | 79 | L.ERecord xes => (L'.ERecord (map (fn (c, e, t) => (explifyCon c, explifyExp e, explifyCon t)) xes), loc) |
80 | L.EField (e1, c, {field, rest}) => (L'.EField (explifyExp e1, explifyCon c, | 80 | L.EField (e1, c, {field, rest}) => (L'.EField (explifyExp e1, explifyCon c, |
81 {field = explifyCon field, rest = explifyCon rest}), loc) | 81 {field = explifyCon field, rest = explifyCon rest}), loc) |
82 | L.EFold _ => raise Fail "Explify EFold" | 82 | L.EFold k => (L'.EFold (explifyKind k), loc) |
83 | 83 |
84 | L.EError => raise Fail ("explifyExp: EError at " ^ EM.spanToString loc) | 84 | L.EError => raise Fail ("explifyExp: EError at " ^ EM.spanToString loc) |
85 | 85 |
86 fun explifySgi (sgi, loc) = | 86 fun explifySgi (sgi, loc) = |
87 case sgi of | 87 case sgi of |