X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fcontent_pres%2FtermContentPres.ml;h=85f4a3187ea641290d98c2fd75118e15912fedb0;hb=1652681b5eb49332f1c78e6c26d3ae5c7253d382;hp=e15442970a0ac3a139d54cf2cf0b1d85d2c1ee95;hpb=404cfbb5d450f3d738637cfee71aac877a4a8b1d;p=helm.git diff --git a/helm/software/components/content_pres/termContentPres.ml b/helm/software/components/content_pres/termContentPres.ml index e15442970..85f4a3187 100644 --- a/helm/software/components/content_pres/termContentPres.ml +++ b/helm/software/components/content_pres/termContentPres.ml @@ -93,6 +93,12 @@ let string_of_sort_kind = function | `Set -> "Set" | `CProp _ -> "CProp" | `Type _ -> "Type" + | `NType s -> "Type[" ^ s ^ "]" + +let map_space f l = + HExtlib.list_concat + ~sep:[space] (List.map (fun x -> [f x]) l) +;; let pp_ast0 t k = let rec aux = @@ -144,16 +150,16 @@ let pp_ast0 t k = let mk_case_pattern = function Ast.Pattern (head, href, vars) -> - hvbox true false (ident_w_href href head :: List.map aux_var vars) + hvbox true true (ident_w_href href head :: + List.flatten (List.map (fun x -> [break;x]) (map_space aux_var vars))) | Ast.Wildcard -> builtin_symbol "_" in let patterns' = List.map (fun (lhs, rhs) -> remove_level_info - (hvbox false true [ - hbox false true [ - mk_case_pattern lhs; builtin_symbol "\\Rightarrow" ]; + (hovbox false true [ + mk_case_pattern lhs; break; builtin_symbol "\\Rightarrow"; break; top_pos (k rhs) ])) patterns in @@ -204,8 +210,8 @@ let pp_ast0 t k = match rec_kind with `Inductive -> "rec" | `CoInductive -> "corec" in let mk_fun (args, (name,ty), body, rec_param) = - List.map aux_var args ,k name, HExtlib.map_option k ty, k body, - fst (List.nth args rec_param) + List.flatten (List.map (fun x -> [aux_var x; space]) args), + k name, HExtlib.map_option k ty, k body, fst (List.nth args rec_param) in let mk_funs = List.map mk_fun in let fst_fun, tl_funs = @@ -218,9 +224,10 @@ let pp_ast0 t k = space; keyword rec_op; space; - name] @ + name; + space] @ params @ - [space; keyword "on" ; space ; rec_param ;space ] @ + [keyword "on" ; space ; rec_param ;space ] @ (match ty with None -> [] | Some ty -> [builtin_symbol ":"; ty]) @ [ builtin_symbol "\\def"; break;