1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
open Catala_utils
open Ast
let format_primitive_typ (fmt : Format.formatter) (t : primitive_typ) : unit =
match t with
| Integer -> Format.pp_print_string fmt "integer"
| Decimal -> Format.pp_print_string fmt "decimal"
| Boolean -> Format.pp_print_string fmt "boolean"
| Money -> Format.pp_print_string fmt "money"
| Duration -> Format.pp_print_string fmt "duration"
| Text -> Format.pp_print_string fmt "text"
| Date -> Format.pp_print_string fmt "date"
| Named (path, constructor) ->
Format.fprintf fmt "%a.%s"
(Format.pp_print_list
~pp_sep:(fun fmt () -> Format.pp_print_char fmt '.')
(fun fmt (uid, _pos) -> Format.pp_print_string fmt uid))
path (Mark.remove constructor)