| `Set -> "Set"
| `CProp _ -> "CProp"
| `Type _ -> "Type"
+ | `NType s -> "Type[" ^ s ^ "]"
let pp_ast0 t k =
let rec aux =
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]) (List.map 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
| Ast.Magic magic -> aux_magic env magic
| Ast.Variable var -> aux_variable env var
+ | Ast.Cast (t, ty) -> Ast.Cast (aux env t, aux env ty)
+
| _ -> assert false
and aux_opt env = function
| Some term -> Some (aux env term)