comparison src/corify.sml @ 623:588b9d16b00a

Start of kind polymorphism, up to the point where demo/hello elaborates with updated Basis/Top
author Adam Chlipala <adamc@hcoop.net>
date Sun, 22 Feb 2009 16:10:25 -0500
parents 8998114760c1
children 230654093b51
comparison
equal deleted inserted replaced
622:d64533157f40 623:588b9d16b00a
590 corifyCon st c2), loc) 590 corifyCon st c2), loc)
591 | L.ECut (e1, c, {field, rest}) => (L'.ECut (corifyExp st e1, corifyCon st c, 591 | L.ECut (e1, c, {field, rest}) => (L'.ECut (corifyExp st e1, corifyCon st c,
592 {field = corifyCon st field, rest = corifyCon st rest}), loc) 592 {field = corifyCon st field, rest = corifyCon st rest}), loc)
593 | L.ECutMulti (e1, c, {rest}) => (L'.ECutMulti (corifyExp st e1, corifyCon st c, 593 | L.ECutMulti (e1, c, {rest}) => (L'.ECutMulti (corifyExp st e1, corifyCon st c,
594 {rest = corifyCon st rest}), loc) 594 {rest = corifyCon st rest}), loc)
595 | L.EFold k => (L'.EFold (corifyKind k), loc)
596 595
597 | L.ECase (e, pes, {disc, result}) => 596 | L.ECase (e, pes, {disc, result}) =>
598 (L'.ECase (corifyExp st e, 597 (L'.ECase (corifyExp st e,
599 map (fn (p, e) => (corifyPat st p, corifyExp st e)) pes, 598 map (fn (p, e) => (corifyPat st p, corifyExp st e)) pes,
600 {disc = corifyCon st disc, result = corifyCon st result}), 599 {disc = corifyCon st disc, result = corifyCon st result}),