summaryrefslogtreecommitdiff
path: root/src/expl_print.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-06-26 08:54:49 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-06-26 08:54:49 -0400
commitaabe8dd88a80467442826e460e6b01f0dad2fb4d (patch)
tree2c4168a9d016a992769bbb6a2eec11d27cdfad64 /src/expl_print.sml
parent55ac3f4f2af733079401d83e98431e6d11b0fc59 (diff)
Proper hiding of shadowed bindings in principal signatures
Diffstat (limited to 'src/expl_print.sml')
-rw-r--r--src/expl_print.sml18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/expl_print.sml b/src/expl_print.sml
index 900a4063..aca89834 100644
--- a/src/expl_print.sml
+++ b/src/expl_print.sml
@@ -277,6 +277,13 @@ fun p_sgn_item env (sgi, _) =
string ":",
space,
p_sgn env sgn]
+ | SgiSgn (x, n, sgn) => box [string "signature",
+ space,
+ p_named x n,
+ space,
+ string "=",
+ space,
+ p_sgn env sgn]
and p_sgn env (sgn, _) =
case sgn of
@@ -317,6 +324,17 @@ and p_sgn env (sgn, _) =
string "=",
space,
p_con env c]
+ | SgnProj (m1, ms, x) =>
+ let
+ val (m1x, sgn) = E.lookupStrNamed env m1
+
+ val m1s = if !debug then
+ m1x ^ "__" ^ Int.toString m1
+ else
+ m1x
+ in
+ p_list_sep (string ".") string (m1x :: ms @ [x])
+ end
fun p_decl env ((d, _) : decl) =
case d of