comparison src/corify.sml @ 69:8e9920db39f2

Corify cfold
author Adam Chlipala <adamc@hcoop.net>
date Thu, 26 Jun 2008 09:53:52 -0400
parents c1e21ab42896
children 0ee10f4d73cf
comparison
equal deleted inserted replaced
68:c1e21ab42896 69:8e9920db39f2
242 | L.CName s => (L'.CName s, loc) 242 | L.CName s => (L'.CName s, loc)
243 243
244 | L.CRecord (k, xcs) => 244 | L.CRecord (k, xcs) =>
245 (L'.CRecord (corifyKind k, map (fn (c1, c2) => (corifyCon st c1, corifyCon st c2)) xcs), loc) 245 (L'.CRecord (corifyKind k, map (fn (c1, c2) => (corifyCon st c1, corifyCon st c2)) xcs), loc)
246 | L.CConcat (c1, c2) => (L'.CConcat (corifyCon st c1, corifyCon st c2), loc) 246 | L.CConcat (c1, c2) => (L'.CConcat (corifyCon st c1, corifyCon st c2), loc)
247 | L.CFold _ => raise Fail "Corify CFold" 247 | L.CFold (k1, k2) => (L'.CFold (corifyKind k1, corifyKind k2), loc)
248 248
249 fun corifyExp st (e, loc) = 249 fun corifyExp st (e, loc) =
250 case e of 250 case e of
251 L.EPrim p => (L'.EPrim p, loc) 251 L.EPrim p => (L'.EPrim p, loc)
252 | L.ERel n => (L'.ERel n, loc) 252 | L.ERel n => (L'.ERel n, loc)