mirror of
https://github.com/CatalaLang/catala.git
synced 2024-11-08 07:51:43 +03:00
Improving the printer on arrays
This commit is contained in:
parent
9024cf1222
commit
1d8e3748ea
@ -1052,7 +1052,7 @@ module UserFacing = struct
|
|||||||
match Mark.remove e with
|
match Mark.remove e with
|
||||||
| ELit l -> lit lang ppf l
|
| ELit l -> lit lang ppf l
|
||||||
| EArray l | ETuple l ->
|
| EArray l | ETuple l ->
|
||||||
Format.fprintf ppf "[@;<0 2>%a@;<0 -2>]"
|
Format.fprintf ppf "@[<hv 2>[@,@[<hov>%a@]@;<0 -2>]@]"
|
||||||
(Format.pp_print_list
|
(Format.pp_print_list
|
||||||
~pp_sep:(fun ppf () -> Format.fprintf ppf ";@ ")
|
~pp_sep:(fun ppf () -> Format.fprintf ppf ";@ ")
|
||||||
(value ~fallback lang))
|
(value ~fallback lang))
|
||||||
@ -1061,10 +1061,11 @@ module UserFacing = struct
|
|||||||
Format.fprintf ppf "@[<hv 2>%a {@ %a@;<1 -2>}@]" StructName.format name
|
Format.fprintf ppf "@[<hv 2>%a {@ %a@;<1 -2>}@]" StructName.format name
|
||||||
(StructField.Map.format_bindings ~pp_sep:Format.pp_print_space
|
(StructField.Map.format_bindings ~pp_sep:Format.pp_print_space
|
||||||
(fun ppf pp_fld e ->
|
(fun ppf pp_fld e ->
|
||||||
Format.fprintf ppf "-- %t: %a" pp_fld (value ~fallback lang) e))
|
Format.fprintf ppf "@[<hov 2>-- %t:@ %a@]" pp_fld
|
||||||
|
(value ~fallback lang) e))
|
||||||
fields
|
fields
|
||||||
| EInj { name = _; cons; e } ->
|
| EInj { name = _; cons; e } ->
|
||||||
Format.fprintf ppf "%a %a" EnumConstructor.format cons
|
Format.fprintf ppf "@[<hov 2>%a@ %a@]" EnumConstructor.format cons
|
||||||
(value ~fallback lang) e
|
(value ~fallback lang) e
|
||||||
| EEmptyError -> Format.pp_print_string ppf "ø"
|
| EEmptyError -> Format.pp_print_string ppf "ø"
|
||||||
| EAbs _ -> Format.pp_print_string ppf "<function>"
|
| EAbs _ -> Format.pp_print_string ppf "<function>"
|
||||||
|
@ -33,8 +33,11 @@ scope B:
|
|||||||
$ catala Interpret -s A
|
$ catala Interpret -s A
|
||||||
[RESULT] Computation successful! Results:
|
[RESULT] Computation successful! Results:
|
||||||
[RESULT]
|
[RESULT]
|
||||||
x = [S { -- id: 0 -- income: $0.00 }; S { -- id: 1 -- income: $9.00 };
|
x =
|
||||||
S { -- id: 2 -- income: $5.20 }]
|
[
|
||||||
|
S { -- id: 0 -- income: $0.00 }; S { -- id: 1 -- income: $9.00 };
|
||||||
|
S { -- id: 2 -- income: $5.20 }
|
||||||
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
```catala-test-inline
|
```catala-test-inline
|
||||||
@ -47,9 +50,13 @@ $ catala Interpret -s B
|
|||||||
$ catala Interpret_Lcalc -s A --avoid_exceptions --optimize
|
$ catala Interpret_Lcalc -s A --avoid_exceptions --optimize
|
||||||
[RESULT] Computation successful! Results:
|
[RESULT] Computation successful! Results:
|
||||||
[RESULT]
|
[RESULT]
|
||||||
x = ESome [ESome S { -- id: ESome 0 -- income: ESome $0.00 };
|
x =
|
||||||
|
ESome
|
||||||
|
[
|
||||||
|
ESome S { -- id: ESome 0 -- income: ESome $0.00 };
|
||||||
ESome S { -- id: ESome 1 -- income: ESome $9.00 };
|
ESome S { -- id: ESome 1 -- income: ESome $9.00 };
|
||||||
ESome S { -- id: ESome 2 -- income: ESome $5.20 }]
|
ESome S { -- id: ESome 2 -- income: ESome $5.20 }
|
||||||
|
]
|
||||||
```
|
```
|
||||||
```catala-test-inline
|
```catala-test-inline
|
||||||
$ catala Interpret_Lcalc -s B --avoid_exceptions --optimize
|
$ catala Interpret_Lcalc -s B --avoid_exceptions --optimize
|
||||||
|
@ -22,6 +22,10 @@ $ catala Interpret_Lcalc -s A --avoid_exceptions --optimize
|
|||||||
[RESULT]
|
[RESULT]
|
||||||
x = ESome [ESome 0; ESome 1; ESome 2; ESome 3; ESome 4; ESome 5; ESome 6]
|
x = ESome [ESome 0; ESome 1; ESome 2; ESome 3; ESome 4; ESome 5; ESome 6]
|
||||||
[RESULT]
|
[RESULT]
|
||||||
y = ESome [ESome 0; ESome 1; ESome 2; ESome 3; ESome 4; ESome 5; ESome 6;
|
y =
|
||||||
ESome 7; ESome 8; ESome 9; ESome 10]
|
ESome
|
||||||
|
[
|
||||||
|
ESome 0; ESome 1; ESome 2; ESome 3; ESome 4; ESome 5; ESome 6;
|
||||||
|
ESome 7; ESome 8; ESome 9; ESome 10
|
||||||
|
]
|
||||||
```
|
```
|
||||||
|
@ -33,8 +33,11 @@ scope B:
|
|||||||
$ catala Interpret -s A
|
$ catala Interpret -s A
|
||||||
[RESULT] Computation successful! Results:
|
[RESULT] Computation successful! Results:
|
||||||
[RESULT]
|
[RESULT]
|
||||||
x = [S { -- id: 0 -- income: $0.00 }; S { -- id: 1 -- income: $9.00 };
|
x =
|
||||||
S { -- id: 2 -- income: $5.20 }]
|
[
|
||||||
|
S { -- id: 0 -- income: $0.00 }; S { -- id: 1 -- income: $9.00 };
|
||||||
|
S { -- id: 2 -- income: $5.20 }
|
||||||
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
```catala-test-inline
|
```catala-test-inline
|
||||||
@ -47,9 +50,13 @@ $ catala Interpret -s B
|
|||||||
$ catala Interpret_Lcalc -s A --avoid_exceptions --optimize
|
$ catala Interpret_Lcalc -s A --avoid_exceptions --optimize
|
||||||
[RESULT] Computation successful! Results:
|
[RESULT] Computation successful! Results:
|
||||||
[RESULT]
|
[RESULT]
|
||||||
x = ESome [ESome S { -- id: ESome 0 -- income: ESome $0.00 };
|
x =
|
||||||
|
ESome
|
||||||
|
[
|
||||||
|
ESome S { -- id: ESome 0 -- income: ESome $0.00 };
|
||||||
ESome S { -- id: ESome 1 -- income: ESome $9.00 };
|
ESome S { -- id: ESome 1 -- income: ESome $9.00 };
|
||||||
ESome S { -- id: ESome 2 -- income: ESome $5.20 }]
|
ESome S { -- id: ESome 2 -- income: ESome $5.20 }
|
||||||
|
]
|
||||||
```
|
```
|
||||||
```catala-test-inline
|
```catala-test-inline
|
||||||
$ catala Interpret_Lcalc -s B --avoid_exceptions --optimize
|
$ catala Interpret_Lcalc -s B --avoid_exceptions --optimize
|
||||||
|
@ -29,7 +29,8 @@ $ catala Interpret_Lcalc -s A --avoid_exceptions --optimize
|
|||||||
[RESULT] Computation successful! Results:
|
[RESULT] Computation successful! Results:
|
||||||
[RESULT]
|
[RESULT]
|
||||||
a =
|
a =
|
||||||
ESome 0.000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,078,695,580,959,228,473,468…
|
ESome
|
||||||
|
0.000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,078,695,580,959,228,473,468…
|
||||||
[RESULT] x = ESome 84.648,665,652,656,896,23
|
[RESULT] x = ESome 84.648,665,652,656,896,23
|
||||||
[RESULT] y = ESome -4.368,297,787,053,206,549,8
|
[RESULT] y = ESome -4.368,297,787,053,206,549,8
|
||||||
[RESULT] z = ESome 654,265,429,805,103,220,650,980,650.5…
|
[RESULT] z = ESome 654,265,429,805,103,220,650,980,650.5…
|
||||||
|
@ -55,7 +55,8 @@ $ catala Interpret_Lcalc -s S --avoid_exceptions --optimize
|
|||||||
[RESULT] Computation successful! Results:
|
[RESULT] Computation successful! Results:
|
||||||
[RESULT]
|
[RESULT]
|
||||||
a =
|
a =
|
||||||
ESome A {
|
ESome
|
||||||
|
A {
|
||||||
-- x: ESome -2.0
|
-- x: ESome -2.0
|
||||||
-- y: ESome B { -- y: ESome false -- z: ESome -1.0 }
|
-- y: ESome B { -- y: ESome false -- z: ESome -1.0 }
|
||||||
}
|
}
|
||||||
|
@ -29,9 +29,7 @@ $ catala Interpret_Lcalc -s S --avoid_exceptions --optimize
|
|||||||
[RESULT] Computation successful! Results:
|
[RESULT] Computation successful! Results:
|
||||||
[RESULT]
|
[RESULT]
|
||||||
a =
|
a =
|
||||||
ESome A {
|
ESome
|
||||||
-- x: ESome 0
|
A { -- x: ESome 0 -- y: ESome B { -- y: ESome true -- z: ESome 0.0 } }
|
||||||
-- y: ESome B { -- y: ESome true -- z: ESome 0.0 }
|
|
||||||
}
|
|
||||||
[RESULT] b = ESome B { -- y: ESome true -- z: ESome 0.0 }
|
[RESULT] b = ESome B { -- y: ESome true -- z: ESome 0.0 }
|
||||||
```
|
```
|
||||||
|
@ -53,7 +53,8 @@ $ catala Interpret_Lcalc -s A --avoid_exceptions --optimize
|
|||||||
[RESULT] Computation successful! Results:
|
[RESULT] Computation successful! Results:
|
||||||
[RESULT]
|
[RESULT]
|
||||||
t =
|
t =
|
||||||
ESome T {
|
ESome
|
||||||
|
T {
|
||||||
-- a: ESome S { -- x: ESome 0 -- y: ESome false }
|
-- a: ESome S { -- x: ESome 0 -- y: ESome false }
|
||||||
-- b: ESome S { -- x: ESome 1 -- y: ESome true }
|
-- b: ESome S { -- x: ESome 1 -- y: ESome true }
|
||||||
}
|
}
|
||||||
@ -64,7 +65,8 @@ $ catala Interpret_Lcalc -s B --avoid_exceptions --optimize
|
|||||||
[RESULT] out = ESome 1
|
[RESULT] out = ESome 1
|
||||||
[RESULT]
|
[RESULT]
|
||||||
t =
|
t =
|
||||||
ESome T {
|
ESome
|
||||||
|
T {
|
||||||
-- a: ESome S { -- x: ESome 0 -- y: ESome false }
|
-- a: ESome S { -- x: ESome 0 -- y: ESome false }
|
||||||
-- b: ESome S { -- x: ESome 1 -- y: ESome true }
|
-- b: ESome S { -- x: ESome 1 -- y: ESome true }
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user