Revision 8b07438aa24d7b435c3f57d4535567e3d1635a6e authored by Corneliu Hoffman on 18 July 2022, 09:47:47 UTC, committed by Corneliu Hoffman on 25 July 2022, 17:54:37 UTC
1 parent c790c78
JSON_AST.ml
type t =
[ `Null
| `Bool of bool
| `Float of float
| `String of string
| `O of (string * t) list
| `A of t list ]
let f = Format.fprintf
let rec pp fmt = function
| `Null -> f fmt "null"
| `Bool x -> f fmt "%b" x
| `Float x -> f fmt "%g" x
| `String x -> f fmt "%S" x
| `O l ->
f fmt "@[<hv 2>{@ " ;
List.iteri
(fun i (k, v) ->
if i <> 0 then f fmt ",@ " ;
f fmt "%S: %a" k pp v)
l ;
f fmt "@ }@]"
| `A l ->
f fmt "@[<hv 2>[@ " ;
List.iteri
(fun i x ->
if i <> 0 then f fmt ",@ " ;
f fmt "%a" pp x)
l ;
f fmt "@ ]@]"
Computing file changes ...