| `Exists -> "exists"
| `Forall -> "forall"
-let pp_literal l =
- sprintf "literal(%s)"
- (match l with
- | `Symbol s
- | `Keyword s
- | `Number s -> s)
+let pp_literal = function
+ | `Symbol s -> sprintf "symbol(%s)" s
+ | `Keyword s -> sprintf "keyword(%s)" s
+ | `Number s -> sprintf "number(%s)" s
let rec pp_term = function
| AttributedTerm (`Href _, term) when print_attributes ->
| Sqrt t -> sprintf "\\SQRT %s" (pp_term t)
| Root (arg, index) ->
sprintf "\\ROOT %s \\OF %s" (pp_term index) (pp_term arg)
-(* | Break -> "\\BREAK" *)
+ | Break -> "\\BREAK"
(* | Space -> "\\SPACE" *)
| Box (box_spec, terms) ->
sprintf "\\%s [%s]" (pp_box_spec box_spec)
(pp_fold_kind k) (pp_term p_base) acc (pp_term p_rec)
| Default (p_some, p_none) ->
sprintf "\\DEFAULT \\[%s\\] \\[%s\\]" (pp_term p_some) (pp_term p_none)
- | If (p_guard, p) ->
- sprintf "\\IF \\[%s\\] \\[%s\\]" (pp_term p_guard) (pp_term p)
+ | If (p_test, p_true, p_false) ->
+ sprintf "\\IF \\[%s\\] \\[%s\\] \\[%s\\]"
+ (pp_term p_test) (pp_term p_true) (pp_term p_false)
+ | Fail -> "\\FAIL"
and pp_fold_kind = function
| `Left -> "left"