aboutsummaryrefslogtreecommitdiffhomepage
path: root/parsing
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2006-10-28 09:58:16 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2006-10-28 09:58:16 +0000
commitc09da18298d947335cb572ca5f688298b1b8238e (patch)
treee4c14c5daf47027928996a4390bcce55b28f0f50 /parsing
parent3f41c704aa09301df18cfc90f72a3895e169d74c (diff)
Ajout option Set Printing Universes et amélioration affichage des univers
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9304 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing')
-rw-r--r--parsing/ppconstr.ml4
-rw-r--r--parsing/prettyp.ml10
2 files changed, 10 insertions, 4 deletions
diff --git a/parsing/ppconstr.ml b/parsing/ppconstr.ml
index a003c1405..e1f375d0a 100644
--- a/parsing/ppconstr.ml
+++ b/parsing/ppconstr.ml
@@ -113,12 +113,14 @@ let pr_optc pr = function
| None -> mt ()
| Some x -> pr_sep_com spc pr x
+let pr_in_comment pr x = str "(* " ++ pr x ++ str " *)"
+
let pr_universe = Univ.pr_uni
let pr_rawsort = function
| RProp Term.Null -> str "Prop"
| RProp Term.Pos -> str "Set"
- | RType u -> str "Type" ++ pr_opt pr_universe u
+ | RType u -> hov 0 (str "Type" ++ pr_opt (pr_in_comment pr_universe) u)
let pr_id = pr_id
let pr_name = pr_name
diff --git a/parsing/prettyp.ml b/parsing/prettyp.ml
index fa839587f..749534984 100644
--- a/parsing/prettyp.ml
+++ b/parsing/prettyp.ml
@@ -279,11 +279,15 @@ let print_constructors envpar names types =
hv 0 (str " " ++ pc)
let build_inductive sp tyi =
- let (mib,mip as specif) = Global.lookup_inductive (sp,tyi) in
+ let (mib,mip) = Global.lookup_inductive (sp,tyi) in
let params = mib.mind_params_ctxt in
let args = extended_rel_list 0 params in
let env = Global.env() in
- let arity = hnf_prod_applist env (Inductive.type_of_inductive specif) args in
+ let fullarity = match mip.mind_arity with
+ | Monomorphic ar -> ar.mind_user_arity
+ | Polymorphic ar ->
+ it_mkProd_or_LetIn (mkSort (Type ar.poly_level)) mip.mind_arity_ctxt in
+ let arity = hnf_prod_applist env fullarity args in
let cstrtypes = arities_of_constructors env (sp,tyi) in
let cstrtypes =
Array.map (fun c -> hnf_prod_applist env c args) cstrtypes in
@@ -329,7 +333,7 @@ let print_typed_body (val_0,typ) =
let print_constant with_values sep sp =
let cb = Global.lookup_constant sp in
let val_0 = cb.const_body in
- let typ = cb.const_type in
+ let typ = Typeops.type_of_constant_type (Global.env()) cb.const_type in
hov 0 (
match val_0 with
| None ->