Mercurial > urweb
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}), |