From 64be34d44a0de6a4710b3bff9feb087df7dcc70c Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sat, 21 Apr 2012 15:19:00 -0400 Subject: Omit 'Basis.' in pretty-printing constructors, where this is unambiguous --- src/elab_print.sml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/elab_print.sml') diff --git a/src/elab_print.sml b/src/elab_print.sml index 69607056..c25576ba 100644 --- a/src/elab_print.sml +++ b/src/elab_print.sml @@ -165,7 +165,20 @@ fun p_con' par env (c, _) = else m1x in - p_list_sep (string ".") string (m1x :: ms @ [x]) + if m1x = "Basis" andalso (case E.lookupC env x of + E.Named (n, _) => + let + val (_, _, co) = E.lookupCNamed env n + in + case co of + SOME (CModProj (m1', [], x'), _) => m1' = m1 andalso x' = x + | _ => false + end + | E.NotBound => true + | _ => false) then + string x + else + p_list_sep (string ".") string (m1s :: ms @ [x]) end | CApp (c1, c2) => parenIf par (box [p_con env c1, -- cgit v1.2.3