Mercurial > urweb
diff src/explify.sml @ 64:d609820c5834
Proper hiding of shadowed bindings in principal signatures
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 26 Jun 2008 08:54:49 -0400 |
parents | abb2b32c19fb |
children | 9f89f0b00b84 |
line wrap: on
line diff
--- a/src/explify.sml Sun Jun 22 20:11:59 2008 -0400 +++ b/src/explify.sml Thu Jun 26 08:54:49 2008 -0400 @@ -87,7 +87,7 @@ | L.SgiCon (x, n, k, c) => (L'.SgiCon (x, n, explifyKind k, explifyCon c), loc) | L.SgiVal (x, n, c) => (L'.SgiVal (x, n, explifyCon c), loc) | L.SgiStr (x, n, sgn) => (L'.SgiStr (x, n, explifySgn sgn), loc) - | L.SgiSgn _ => raise Fail "Explify SgiSgn" + | L.SgiSgn (x, n, sgn) => (L'.SgiSgn (x, n, explifySgn sgn), loc) and explifySgn (sgn, loc) = case sgn of @@ -95,7 +95,7 @@ | L.SgnVar n => (L'.SgnVar n, loc) | L.SgnFun (m, n, dom, ran) => (L'.SgnFun (m, n, explifySgn dom, explifySgn ran), loc) | L.SgnWhere (sgn, x, c) => (L'.SgnWhere (explifySgn sgn, x, explifyCon c), loc) - | L.SgnProj _ => raise Fail "Explify SgnProj" + | L.SgnProj x => (L'.SgnProj x, loc) | L.SgnError => raise Fail ("explifySgn: SgnError at " ^ EM.spanToString loc) fun explifyDecl (d, loc : EM.span) =