| `Number s -> s)
let rec pp_term = function
+ | AttributedTerm (`Href _, term) when print_attributes ->
+ sprintf "#[%s]" (pp_term term)
| AttributedTerm (_, term) when print_attributes ->
sprintf "@[%s]" (pp_term term)
| AttributedTerm (_, term) -> pp_term term
(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)
+ | Unless (p_guard, p) ->
+ sprintf "\\UNLESS \\[%s\\] \\[%s\\]" (pp_term p_guard) (pp_term p)
and pp_fold_kind = function
| `Left -> "left"