JS embedding starting to work

This commit is contained in:
Denis Merigoux 2021-04-05 19:06:32 +02:00
parent 8b5f14f1e6
commit c8f354d327
12 changed files with 2454 additions and 2356 deletions

View File

@ -4,20 +4,20 @@ var suite = new Benchmark.Suite();
suite
.add("AllocationFamiliales#benchmark", function () {
Law.computeAllocationsFamiliales({
currentDate: new Date("2020-05-20"),
var result = Law.computeAllocationsFamiliales({
currentDate: new Date(Date.UTC(2020, 04, 20)),
children: [
{
id: 0,
remunerationMensuelle: 0,
dateNaissance: new Date("2003-03-02"),
dateNaissance: new Date(Date.UTC(2003, 02, 02)),
priseEnCharge: "Effective et permanente",
aDejaOuvertDroitAuxAllocationsFamiliales: true,
},
{
id: 1,
remunerationMensuelle: 300,
dateNaissance: new Date("2013-10-30"),
dateNaissance: new Date(Date.UTC(2013, 09, 30)),
priseEnCharge: "Garde alternée, partage des allocations",
aDejaOuvertDroitAuxAllocationsFamiliales: true,
},
@ -27,7 +27,7 @@ suite
personneQuiAssumeLaChargeEffectivePermanenteEstParent: true,
personneQuiAssumeLaChargeEffectivePermanenteRemplitConditionsTitreISecuriteSociale: true,
});
Law.resetLog(true);
Law.resetLog();
})
.on("cycle", function (event) {
console.log(String(event.target));

File diff suppressed because one or more lines are too long

View File

@ -87,7 +87,7 @@ type binop =
| Map
| Filter
type log_entry = VarDef | BeginCall | EndCall | PosRecordIfTrueBool
type log_entry = VarDef of typ | BeginCall | EndCall | PosRecordIfTrueBool
type unop =
| Not

View File

@ -82,7 +82,13 @@ type binop =
| Map
| Filter
type log_entry = VarDef | BeginCall | EndCall | PosRecordIfTrueBool
type log_entry =
| VarDef of typ
(** During code generation, we need to know the type of the variable being logged for
embedding *)
| BeginCall
| EndCall
| PosRecordIfTrueBool
type unop =
| Not

View File

@ -241,7 +241,7 @@ let rec evaluate_operator (ctx : Ast.decl_ctx) (op : A.operator Pos.marked)
| A.Unop (A.Log (entry, infos)), [ e' ] ->
if !Cli.trace_flag then (
match entry with
| VarDef ->
| VarDef _ ->
Cli.log_print
(Format.asprintf "%*s%a %a: %s" (!log_indent * 2) "" Print.format_log_entry entry
Print.format_uid_list infos

View File

@ -129,7 +129,7 @@ let format_ternop (fmt : Format.formatter) (op : ternop Pos.marked) : unit =
let format_log_entry (fmt : Format.formatter) (entry : log_entry) : unit =
match entry with
| VarDef -> Format.fprintf fmt "%s" (Utils.Cli.print_with_style [ ANSITerminal.blue ] "")
| VarDef _ -> Format.fprintf fmt "%s" (Utils.Cli.print_with_style [ ANSITerminal.blue ] "")
| BeginCall -> Format.fprintf fmt "%s" (Utils.Cli.print_with_style [ ANSITerminal.yellow ] "")
| EndCall -> Format.fprintf fmt "%s" (Utils.Cli.print_with_style [ ANSITerminal.yellow ] "")
| PosRecordIfTrueBool ->

View File

@ -42,7 +42,7 @@ let format_op_kind (fmt : Format.formatter) (k : Dcalc.Ast.op_kind) =
let format_log_entry (fmt : Format.formatter) (entry : Dcalc.Ast.log_entry) : unit =
match entry with
| VarDef -> Format.fprintf fmt ":="
| VarDef _ -> Format.fprintf fmt ":="
| BeginCall -> Format.fprintf fmt ""
| EndCall -> Format.fprintf fmt "%s" ""
| PosRecordIfTrueBool -> Format.fprintf fmt ""
@ -309,10 +309,19 @@ let rec format_expr (ctx : Dcalc.Ast.decl_ctx) (fmt : Format.formatter) (e : exp
(op, Pos.no_pos) format_with_parens arg2
| EApp ((EApp ((EOp (Unop (D.Log (D.BeginCall, info))), _), [ f ]), _), [ arg ])
when !Cli.trace_flag ->
Format.fprintf fmt "(log_begin_call@ %a@ %a@ unembeddable@ %a)" format_uid_list info
format_with_parens f format_with_parens arg
| EApp ((EOp (Unop (D.Log (D.VarDef, info))), _), [ arg1 ]) when !Cli.trace_flag ->
Format.fprintf fmt "(log_variable_definition@ %a@ unembeddable@ %a)" format_uid_list info
Format.fprintf fmt "(log_begin_call@ %a@ %a@ %a)" format_uid_list info format_with_parens f
format_with_parens arg
| EApp ((EOp (Unop (D.Log (D.VarDef tau, info))), _), [ arg1 ]) when !Cli.trace_flag ->
Format.fprintf fmt "(log_variable_definition@ %a@ %s@ %a)" format_uid_list info
(match tau with
| D.TLit D.TUnit -> "embed_unit"
| D.TLit D.TBool -> "embed_bool"
| D.TLit D.TInt -> "embed_integer"
| D.TLit D.TRat -> "embed_decimal"
| D.TLit D.TMoney -> "embed_money"
| D.TLit D.TDate -> "embed_date"
| D.TLit D.TDuration -> "embed_duration"
| _ -> "unembeddable")
format_with_parens arg1
| EApp ((EOp (Unop (D.Log (D.PosRecordIfTrueBool, _))), pos), [ arg1 ]) when !Cli.trace_flag ->
Format.fprintf fmt
@ -322,8 +331,7 @@ let rec format_expr (ctx : Dcalc.Ast.decl_ctx) (fmt : Format.formatter) (e : exp
(Pos.get_end_line pos) (Pos.get_end_column pos) format_string_list (Pos.get_law_info pos)
format_with_parens arg1
| EApp ((EOp (Unop (D.Log (D.EndCall, info))), _), [ arg1 ]) when !Cli.trace_flag ->
Format.fprintf fmt "(log_end_call@ %a@ unembeddable@ %a)" format_uid_list info
format_with_parens arg1
Format.fprintf fmt "(log_end_call@ %a@ %a)" format_uid_list info format_with_parens arg1
| EApp ((EOp (Unop (D.Log _)), _), [ arg1 ]) -> Format.fprintf fmt "%a" format_with_parens arg1
| EApp ((EOp (Unop op), _), [ arg1 ]) ->
Format.fprintf fmt "@[<hov 2>%a@ %a@]" format_unop (op, Pos.no_pos) format_with_parens arg1

View File

@ -35,6 +35,8 @@ exception UncomparableDurations
exception ImpossibleDate
type runtime_value =
| Unit
| Bool of bool
| Money of money
| Integer of integer
| Decimal of decimal
@ -46,6 +48,20 @@ type runtime_value =
let unembeddable _ = Unembeddable
let embed_unit () = Unit
let embed_bool x = Bool x
let embed_money x = Money x
let embed_integer x = Integer x
let embed_decimal x = Decimal x
let embed_date x = Date x
let embed_duration x = Duration x
type source_position = {
filename : string;
start_line : int;
@ -56,8 +72,8 @@ type source_position = {
}
type event =
| BeginCall of string list * runtime_value
| EndCall of string list * runtime_value
| BeginCall of string list
| EndCall of string list
| VariableDefinition of string list * runtime_value
| DecisionTaken of source_position
@ -65,18 +81,18 @@ let log_ref : event list ref = ref []
let reset_log () = log_ref := []
let retrieve_log () = !log_ref
let retrieve_log () = List.rev !log_ref
let log_begin_call info f _embed x =
log_ref := BeginCall (info, Unembeddable) :: !log_ref;
let log_begin_call info f x =
log_ref := BeginCall info :: !log_ref;
f x
let log_end_call info _embed x =
log_ref := EndCall (info, Unembeddable) :: !log_ref;
let log_end_call info x =
log_ref := EndCall info :: !log_ref;
x
let log_variable_definition (info : string list) _embed (x : 'a) =
log_ref := VariableDefinition (info, Unembeddable) :: !log_ref;
let log_variable_definition (info : string list) embed (x : 'a) =
log_ref := VariableDefinition (info, embed x) :: !log_ref;
x
let log_decision_taken pos x =

View File

@ -41,6 +41,8 @@ exception NoValueProvided
(** {1 Value Embedding} *)
type runtime_value =
| Unit
| Bool of bool
| Money of money
| Integer of integer
| Decimal of decimal
@ -52,6 +54,20 @@ type runtime_value =
val unembeddable : 'a -> runtime_value
val embed_unit : unit -> runtime_value
val embed_bool : bool -> runtime_value
val embed_money : money -> runtime_value
val embed_integer : integer -> runtime_value
val embed_decimal : decimal -> runtime_value
val embed_date : date -> runtime_value
val embed_duration : duration -> runtime_value
(** {1 Logging} *)
type source_position = {
@ -64,8 +80,8 @@ type source_position = {
}
type event =
| BeginCall of string list * runtime_value
| EndCall of string list * runtime_value
| BeginCall of string list
| EndCall of string list
| VariableDefinition of string list * runtime_value
| DecisionTaken of source_position
@ -73,9 +89,9 @@ val reset_log : unit -> unit
val retrieve_log : unit -> event list
val log_begin_call : string list -> ('a -> 'b) -> ('a -> runtime_value) -> 'a -> 'b
val log_begin_call : string list -> ('a -> 'b) -> 'a -> 'b
val log_end_call : string list -> ('a -> runtime_value) -> 'a -> 'a
val log_end_call : string list -> 'a -> 'a
val log_variable_definition : string list -> ('a -> runtime_value) -> 'a -> 'a

View File

@ -215,7 +215,7 @@ let rec translate_expr (ctx : ctx) (e : Ast.expr Pos.marked) : Dcalc.Ast.expr Po
match (Pos.unmark e1, new_args) with
| ELocation l, [ new_arg ] ->
[
tag_with_log_entry new_arg Dcalc.Ast.VarDef
tag_with_log_entry new_arg (Dcalc.Ast.VarDef Dcalc.Ast.TAny)
(markings l @ [ Pos.same_pos_as "input" e ]);
]
| _ -> new_args
@ -229,7 +229,7 @@ let rec translate_expr (ctx : ctx) (e : Ast.expr Pos.marked) : Dcalc.Ast.expr Po
match Pos.unmark e1 with
| ELocation l ->
tag_with_log_entry
(tag_with_log_entry new_e Dcalc.Ast.VarDef
(tag_with_log_entry new_e (Dcalc.Ast.VarDef Dcalc.Ast.TAny)
(markings l @ [ Pos.same_pos_as "output" e ]))
Dcalc.Ast.EndCall (markings l)
| _ -> new_e
@ -313,7 +313,9 @@ let rec translate_rule (ctx : ctx) (rule : Ast.rule) (rest : Ast.rule list)
(merge_defaults a_expr new_e)
in
let merged_expr =
tag_with_log_entry merged_expr Dcalc.Ast.VarDef [ (sigma_name, pos_sigma); a_name ]
tag_with_log_entry merged_expr
(Dcalc.Ast.VarDef (Pos.unmark tau))
[ (sigma_name, pos_sigma); a_name ]
in
let next_e = Dcalc.Ast.make_let_in a_var tau merged_expr next_e in
@ -356,7 +358,8 @@ let rec translate_rule (ctx : ctx) (rule : Ast.rule) (rest : Ast.rule list)
(Pos.get_position e)
in
let new_e =
tag_with_log_entry (translate_expr ctx e) Dcalc.Ast.VarDef
tag_with_log_entry (translate_expr ctx e)
(Dcalc.Ast.VarDef (Pos.unmark tau))
[ (sigma_name, pos_sigma); a_name ]
in
let silent_var = Dcalc.Ast.Var.make ("_", Pos.no_pos) in

View File

@ -83,12 +83,37 @@ class type log_event =
method loggedValue : Js.Unsafe.any Js.prop
end
let embed_to_js (v : runtime_value) : Js.Unsafe.any =
match v with
| Unit -> Js.Unsafe.inject Js.null
| Bool b -> Js.Unsafe.inject (Js.bool b)
| Integer i -> Js.Unsafe.inject (integer_to_int i)
| Decimal d -> Js.Unsafe.inject (decimal_to_float d)
| Money m -> Js.Unsafe.inject (money_to_float m)
| Date d ->
let date = new%js Js.date_now in
ignore (date##setUTCFullYear (integer_to_int @@ year_of_date d));
ignore (date##setUTCMonth (integer_to_int @@ month_number_of_date d));
ignore (date##setUTCDate (integer_to_int @@ day_of_month_of_date d));
ignore (date##setUTCHours 0);
ignore (date##setUTCMinutes 0);
ignore (date##setUTCSeconds 0);
ignore (date##setUTCMilliseconds 0);
Js.Unsafe.inject date
| Duration d ->
let days, months, years = duration_to_days_months_years d in
Js.Unsafe.inject (Js.string (Printf.sprintf "%dD%dM%dY" days months years))
| Struct _ -> Js.Unsafe.inject Js.null
| Enum _ -> Js.Unsafe.inject Js.null
| Unembeddable -> Js.Unsafe.inject Js.null
let _ =
Js.export_all
(object%js
method resetLog () : unit = reset_log ()
method resetLog : (unit -> unit) Js.callback = Js.wrap_callback reset_log
method retrieveLog () : log_event Js.t Js.js_array Js.t =
method retrieveLog : (unit -> log_event Js.t Js.js_array Js.t) Js.callback =
Js.wrap_callback (fun () ->
Js.array
(Array.of_list
(List.map
@ -106,16 +131,15 @@ let _ =
Js.array
(Array.of_list
(match evt with
| BeginCall (info, _) | EndCall (info, _) | VariableDefinition (info, _)
->
| BeginCall info | EndCall info | VariableDefinition (info, _) ->
List.map Js.string info
| DecisionTaken _ -> []))
val mutable loggedValue =
match evt with
| BeginCall (_, v) | EndCall (_, v) | VariableDefinition (_, v) ->
Js.Unsafe.inject v
| DecisionTaken _ -> Js.Unsafe.inject Js.undefined
| VariableDefinition (_, v) -> embed_to_js v
| EndCall _ | BeginCall _ | DecisionTaken _ ->
Js.Unsafe.inject Js.undefined
val mutable sourcePosition =
match evt with
@ -137,14 +161,17 @@ let _ =
end)
| _ -> Js.undefined
end)
(retrieve_log ())))
(retrieve_log ()))))
method computeAllocationsFamiliales (input : allocations_familiales_input Js.t) : float =
method computeAllocationsFamiliales
: (allocations_familiales_input Js.t -> float) Js.callback =
Js.wrap_callback (fun input ->
let result =
AF.interface_allocations_familiales
{
AF.personne_charge_effective_permanente_est_parent_in =
(fun _ -> Js.to_bool input##.personneQuiAssumeLaChargeEffectivePermanenteEstParent);
(fun _ ->
Js.to_bool input##.personneQuiAssumeLaChargeEffectivePermanenteEstParent);
AF.personne_charge_effective_permanente_remplit_titre_I_in =
(fun _ ->
Js.to_bool
@ -152,9 +179,9 @@ let _ =
AF.date_courante_in =
(fun _ ->
date_of_numbers
input##.currentDate##getFullYear
input##.currentDate##getMonth
input##.currentDate##getDay);
input##.currentDate##getUTCFullYear
input##.currentDate##getUTCMonth
input##.currentDate##getUTCDate);
AF.enfants_in =
(fun _ ->
Array.map
@ -165,9 +192,9 @@ let _ =
AF.d_identifiant = integer_of_int child##.id;
AF.d_date_de_naissance =
date_of_numbers
child##.dateNaissance##getFullYear
child##.dateNaissance##getMonth
child##.dateNaissance##getDay;
child##.dateNaissance##getUTCFullYear
child##.dateNaissance##getUTCMonth
child##.dateNaissance##getUTCDate;
AF.d_prise_en_charge =
(match Js.to_string child##.priseEnCharge with
| "Effective et permanente" -> EffectiveEtPermanente ()
@ -177,8 +204,8 @@ let _ =
GardeAlterneePartageAllocations ()
| "Confié aux service sociaux, allocation versée à la famille" ->
ServicesSociauxAllocationVerseeALaFamille ()
| "Confié aux service sociaux, allocation versée aux services sociaux"
->
| "Confié aux service sociaux, allocation versée aux services \
sociaux" ->
ServicesSociauxAllocationVerseeAuxServicesSociaux ()
| _ -> failwith "Unknown prise en charge");
AF.d_remuneration_mensuelle =
@ -203,5 +230,5 @@ let _ =
AF.montant_verse_in = no_input;
}
in
money_to_float result.AF.montant_verse_out
money_to_float result.AF.montant_verse_out)
end)

View File

@ -211,7 +211,7 @@ let smic (smic_in : smic_in) =
let residence_ : unit -> collectivite = smic_in.residence_in in
let brut_horaire_ : unit -> money = smic_in.brut_horaire_in in
let date_courante_ : date =
log_variable_definition [ "Smic"; "date_courante" ] unembeddable
log_variable_definition [ "Smic"; "date_courante" ] embed_date
(try date_courante_ () with EmptyError -> raise NoValueProvided)
in
let residence_ : collectivite =
@ -219,7 +219,7 @@ let smic (smic_in : smic_in) =
(try residence_ () with EmptyError -> raise NoValueProvided)
in
let brut_horaire_ : money =
log_variable_definition [ "Smic"; "brut_horaire" ] unembeddable
log_variable_definition [ "Smic"; "brut_horaire" ] embed_money
(try
try brut_horaire_ ()
with EmptyError ->
@ -398,7 +398,7 @@ let allocation_familiales_avril2008
let age_minimum_alinea_1_l521_3_metropole_ : integer =
log_variable_definition
[ "AllocationFamilialesAvril2008"; "âge_minimum_alinéa_1_l521_3_métropole" ]
unembeddable
embed_integer
(try try age_minimum_alinea_1_l521_3_metropole_ () with EmptyError -> integer_of_string "16"
with EmptyError -> raise NoValueProvided)
in
@ -457,14 +457,14 @@ let prestations_familiales (prestations_familiales_in : prestations_familiales_i
let age_l512_3_2_ : integer =
log_variable_definition
[ "PrestationsFamiliales"; "âge_l512_3_2" ]
unembeddable
embed_integer
(try try age_l512_3_2_ () with EmptyError -> integer_of_string "20"
with EmptyError -> raise NoValueProvided)
in
let date_courante_ : date =
log_variable_definition
[ "PrestationsFamiliales"; "date_courante" ]
unembeddable
embed_date
(try date_courante_ () with EmptyError -> raise NoValueProvided)
in
let prestation_courante_ : element_prestations_familiales =
@ -482,7 +482,7 @@ let prestations_familiales (prestations_familiales_in : prestations_familiales_i
let base_mensuelle_ : money =
log_variable_definition
[ "PrestationsFamiliales"; "base_mensuelle" ]
unembeddable
embed_money
(try
try base_mensuelle_ ()
with EmptyError ->
@ -554,7 +554,7 @@ let prestations_familiales (prestations_familiales_in : prestations_familiales_i
fun (_ : unit) ->
log_variable_definition
[ "PrestationsFamiliales"; "smic.date_courante" ]
unembeddable date_courante_
embed_date date_courante_
in
let smic_dot_residence_ : unit -> collectivite =
fun (_ : unit) ->
@ -563,10 +563,9 @@ let prestations_familiales (prestations_familiales_in : prestations_familiales_i
let result_ : smic_out =
log_end_call
[ "PrestationsFamiliales"; "smic"; "Smic" ]
unembeddable
(log_begin_call
[ "PrestationsFamiliales"; "smic"; "Smic" ]
smic unembeddable
smic
{
date_courante_in = smic_dot_date_courante_;
residence_in = smic_dot_residence_;
@ -579,7 +578,7 @@ let prestations_familiales (prestations_familiales_in : prestations_familiales_i
let regime_outre_mer_l751_1_ : bool =
log_variable_definition
[ "PrestationsFamiliales"; "régime_outre_mer_l751_1" ]
unembeddable
embed_bool
(try
try regime_outre_mer_l751_1_ ()
with EmptyError -> (
@ -614,7 +613,7 @@ let prestations_familiales (prestations_familiales_in : prestations_familiales_i
let plafond_l512_3_2_ : money =
log_variable_definition
[ "PrestationsFamiliales"; "plafond_l512_3_2" ]
unembeddable
embed_money
(try
try plafond_l512_3_2_ ()
with EmptyError -> (
@ -887,21 +886,21 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let personne_charge_effective_permanente_est_parent_ : bool =
log_variable_definition
[ "AllocationsFamiliales"; "personne_charge_effective_permanente_est_parent" ]
unembeddable
embed_bool
(try try personne_charge_effective_permanente_est_parent_ () with EmptyError -> false
with EmptyError -> raise NoValueProvided)
in
let personne_charge_effective_permanente_remplit_titre__i_ : bool =
log_variable_definition
[ "AllocationsFamiliales"; "personne_charge_effective_permanente_remplit_titre_I" ]
unembeddable
embed_bool
(try try personne_charge_effective_permanente_remplit_titre__i_ () with EmptyError -> false
with EmptyError -> raise NoValueProvided)
in
let ressources_menage_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "ressources_ménage" ]
unembeddable
embed_money
(try ressources_menage_ () with EmptyError -> raise NoValueProvided)
in
let residence_ : collectivite =
@ -913,7 +912,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let date_courante_ : date =
log_variable_definition
[ "AllocationsFamiliales"; "date_courante" ]
unembeddable
embed_date
(try date_courante_ () with EmptyError -> raise NoValueProvided)
in
let enfants_a_charge_ : enfant array =
@ -1249,7 +1248,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let nombre_enfants_l521_1_ : integer =
log_variable_definition
[ "AllocationsFamiliales"; "nombre_enfants_l521_1" ]
unembeddable
embed_integer
(try try nombre_enfants_l521_1_ () with EmptyError -> integer_of_string "3"
with EmptyError -> raise NoValueProvided)
in
@ -1267,17 +1266,16 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let nombre_enfants_alinea_2_l521_3_ : integer =
log_variable_definition
[ "AllocationsFamiliales"; "nombre_enfants_alinéa_2_l521_3" ]
unembeddable
embed_integer
(try try nombre_enfants_alinea_2_l521_3_ () with EmptyError -> integer_of_string "3"
with EmptyError -> raise NoValueProvided)
in
let result_ : allocation_familiales_avril2008_out =
log_end_call
[ "AllocationsFamiliales"; "version_avril_2008"; "AllocationFamilialesAvril2008" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "version_avril_2008"; "AllocationFamilialesAvril2008" ]
allocation_familiales_avril2008 unembeddable
allocation_familiales_avril2008
{ age_minimum_alinea_1_l521_3_metropole_in = (fun (_ : unit) -> raise EmptyError) })
in
let version_avril_2008_dot_age_minimum_alinea_1_l521_3_metropole_ : integer =
@ -1287,7 +1285,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
fun (_ : unit) ->
log_variable_definition
[ "AllocationsFamiliales"; "prestations_familiales.date_courante" ]
unembeddable date_courante_
embed_date date_courante_
in
let prestations_familiales_dot_prestation_courante_ : unit -> element_prestations_familiales =
fun (_ : unit) ->
@ -1304,10 +1302,9 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let result_ : prestations_familiales_out =
log_end_call
[ "AllocationsFamiliales"; "prestations_familiales"; "PrestationsFamiliales" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "prestations_familiales"; "PrestationsFamiliales" ]
prestations_familiales unembeddable
prestations_familiales
{
droit_ouvert_in = (fun (_ : unit) -> raise EmptyError);
conditions_hors_age_in = (fun (_ : unit) -> raise EmptyError);
@ -1344,10 +1341,9 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let result_ : enfant_le_plus_age_out =
log_end_call
[ "AllocationsFamiliales"; "enfant_le_plus_âgé"; "EnfantLePlusÂgé" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "enfant_le_plus_âgé"; "EnfantLePlusÂgé" ]
enfant_le_plus_age unembeddable
enfant_le_plus_age
{
enfants_in = enfant_le_plus_age_dot_enfants_;
le_plus_age_in = (fun (_ : unit) -> raise EmptyError);
@ -1402,13 +1398,12 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
(fun (enfant_ : _) ->
log_end_call
[ "PrestationsFamiliales"; "droit_ouvert" ]
unembeddable
(log_variable_definition
[ "PrestationsFamiliales"; "droit_ouvert"; "output" ]
unembeddable
(log_begin_call
[ "PrestationsFamiliales"; "droit_ouvert" ]
prestations_familiales_dot_droit_ouvert_ unembeddable
prestations_familiales_dot_droit_ouvert_
(log_variable_definition
[ "PrestationsFamiliales"; "droit_ouvert"; "input" ]
unembeddable enfant_))))
@ -1458,7 +1453,6 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
then
log_end_call
[ "AllocationsFamiliales"; "âge_minimum_alinéa_1_l521_3_outre_mer" ]
unembeddable
(log_variable_definition
[
"AllocationsFamiliales";
@ -1468,7 +1462,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "âge_minimum_alinéa_1_l521_3_outre_mer" ]
age_minimum_alinea_1_l521_3_outre_mer_ unembeddable
age_minimum_alinea_1_l521_3_outre_mer_
(log_variable_definition
[
"AllocationsFamiliales";
@ -1480,7 +1474,6 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
with EmptyError ->
log_end_call
[ "AllocationsFamiliales"; "âge_minimum_alinéa_1_l521_3_métropole" ]
unembeddable
(log_variable_definition
[
"AllocationsFamiliales";
@ -1490,7 +1483,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "âge_minimum_alinéa_1_l521_3_métropole" ]
age_minimum_alinea_1_l521_3_metropole_ unembeddable
age_minimum_alinea_1_l521_3_metropole_
(log_variable_definition
[
"AllocationsFamiliales";
@ -1504,7 +1497,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let plafond__i_i_d521_3_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "plafond_II_d521_3" ]
unembeddable
embed_money
(try
try plafond__i_i_d521_3_ ()
with EmptyError ->
@ -1596,7 +1589,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let plafond__i_d521_3_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "plafond_I_d521_3" ]
unembeddable
embed_money
(try
try plafond__i_d521_3_ ()
with EmptyError ->
@ -1688,7 +1681,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let droit_ouvert_complement_ : bool =
log_variable_definition
[ "AllocationsFamiliales"; "droit_ouvert_complément" ]
unembeddable
embed_bool
(try
try droit_ouvert_complement_ ()
with EmptyError -> (
@ -1782,13 +1775,12 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
&& param_.a_deja_ouvert_droit_aux_allocations_familiales
&& log_end_call
[ "PrestationsFamiliales"; "conditions_hors_âge" ]
unembeddable
(log_variable_definition
[ "PrestationsFamiliales"; "conditions_hors_âge"; "output" ]
unembeddable
(log_begin_call
[ "PrestationsFamiliales"; "conditions_hors_âge" ]
prestations_familiales_dot_conditions_hors_age_ unembeddable
prestations_familiales_dot_conditions_hors_age_
(log_variable_definition
[ "PrestationsFamiliales"; "conditions_hors_âge"; "input" ]
unembeddable param_))))
@ -1801,7 +1793,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let nombre_total_enfants_ : decimal =
log_variable_definition
[ "AllocationsFamiliales"; "nombre_total_enfants" ]
unembeddable
embed_decimal
(try
try nombre_total_enfants_ ()
with EmptyError ->
@ -1811,7 +1803,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let nombre_moyen_enfants_ : decimal =
log_variable_definition
[ "AllocationsFamiliales"; "nombre_moyen_enfants" ]
unembeddable
embed_decimal
(try
try nombre_moyen_enfants_ ()
with EmptyError ->
@ -1822,13 +1814,12 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
match
log_end_call
[ "AllocationsFamiliales"; "prise_en_compte" ]
unembeddable
(log_variable_definition
[ "AllocationsFamiliales"; "prise_en_compte"; "output" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "prise_en_compte" ]
prise_en_compte_ unembeddable
prise_en_compte_
(log_variable_definition
[ "AllocationsFamiliales"; "prise_en_compte"; "input" ]
unembeddable enfant_)))
@ -1842,7 +1833,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let droit_ouvert_base_ : bool =
log_variable_definition
[ "AllocationsFamiliales"; "droit_ouvert_base" ]
unembeddable
embed_bool
(try
try droit_ouvert_base_ ()
with EmptyError -> (
@ -1932,7 +1923,6 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
&& param_.age
>=! log_end_call
[ "AllocationsFamiliales"; "âge_minimum_alinéa_1_l521_3" ]
unembeddable
(log_variable_definition
[
"AllocationsFamiliales";
@ -1942,7 +1932,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "âge_minimum_alinéa_1_l521_3" ]
age_minimum_alinea_1_l521_3_ unembeddable
age_minimum_alinea_1_l521_3_
(log_variable_definition
[
"AllocationsFamiliales";
@ -1974,13 +1964,12 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
((not
(log_end_call
[ "AllocationsFamiliales"; "est_enfant_le_plus_âgé" ]
unembeddable
(log_variable_definition
[ "AllocationsFamiliales"; "est_enfant_le_plus_âgé"; "output" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "est_enfant_le_plus_âgé" ]
est_enfant_le_plus_age_ unembeddable
est_enfant_le_plus_age_
(log_variable_definition
[
"AllocationsFamiliales";
@ -1991,7 +1980,6 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
&& param_.age
>=! log_end_call
[ "AllocationsFamiliales"; "âge_minimum_alinéa_1_l521_3" ]
unembeddable
(log_variable_definition
[
"AllocationsFamiliales";
@ -2001,7 +1989,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "âge_minimum_alinéa_1_l521_3" ]
age_minimum_alinea_1_l521_3_ unembeddable
age_minimum_alinea_1_l521_3_
(log_variable_definition
[
"AllocationsFamiliales";
@ -2104,7 +2092,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let montant_initial_base_troisieme_enfant_et_plus_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "montant_initial_base_troisième_enfant_et_plus" ]
unembeddable
embed_money
(try
try montant_initial_base_troisieme_enfant_et_plus_ ()
with EmptyError ->
@ -2219,7 +2207,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let montant_initial_base_deuxieme_enfant_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "montant_initial_base_deuxième_enfant" ]
unembeddable
embed_money
(try
try montant_initial_base_deuxieme_enfant_ ()
with EmptyError ->
@ -2322,7 +2310,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let montant_initial_base_premier_enfant_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "montant_initial_base_premier_enfant" ]
unembeddable
embed_money
(try
try montant_initial_base_premier_enfant_ ()
with EmptyError ->
@ -2442,7 +2430,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let montant_verse_forfaitaire_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "montant_versé_forfaitaire" ]
unembeddable
embed_money
(try
try montant_verse_forfaitaire_ ()
with EmptyError ->
@ -2475,7 +2463,6 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
if
log_end_call
[ "AllocationsFamiliales"; "droit_ouvert_forfaitaire" ]
unembeddable
(log_variable_definition
[
"AllocationsFamiliales"; "droit_ouvert_forfaitaire"; "output";
@ -2483,7 +2470,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "droit_ouvert_forfaitaire" ]
droit_ouvert_forfaitaire_ unembeddable
droit_ouvert_forfaitaire_
(log_variable_definition
[
"AllocationsFamiliales";
@ -2523,7 +2510,6 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
if
log_end_call
[ "AllocationsFamiliales"; "droit_ouvert_forfaitaire" ]
unembeddable
(log_variable_definition
[
"AllocationsFamiliales"; "droit_ouvert_forfaitaire"; "output";
@ -2531,7 +2517,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "droit_ouvert_forfaitaire" ]
droit_ouvert_forfaitaire_ unembeddable
droit_ouvert_forfaitaire_
(log_variable_definition
[
"AllocationsFamiliales";
@ -2570,7 +2556,6 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
if
log_end_call
[ "AllocationsFamiliales"; "droit_ouvert_forfaitaire" ]
unembeddable
(log_variable_definition
[
"AllocationsFamiliales"; "droit_ouvert_forfaitaire"; "output";
@ -2578,7 +2563,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "droit_ouvert_forfaitaire" ]
droit_ouvert_forfaitaire_ unembeddable
droit_ouvert_forfaitaire_
(log_variable_definition
[
"AllocationsFamiliales";
@ -2608,7 +2593,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let rapport_enfants_total_moyen_ : decimal =
log_variable_definition
[ "AllocationsFamiliales"; "rapport_enfants_total_moyen" ]
unembeddable
embed_decimal
(try
try rapport_enfants_total_moyen_ ()
with EmptyError ->
@ -2641,13 +2626,12 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
(not
(log_end_call
[ "AllocationsFamiliales"; "droit_ouvert_majoration" ]
unembeddable
(log_variable_definition
[ "AllocationsFamiliales"; "droit_ouvert_majoration"; "output" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "droit_ouvert_majoration" ]
droit_ouvert_majoration_ unembeddable
droit_ouvert_majoration_
(log_variable_definition
[
"AllocationsFamiliales";
@ -2678,13 +2662,12 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
(ressources_menage_ >$ plafond__i_i_d521_3_
&& log_end_call
[ "AllocationsFamiliales"; "droit_ouvert_majoration" ]
unembeddable
(log_variable_definition
[ "AllocationsFamiliales"; "droit_ouvert_majoration"; "output" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "droit_ouvert_majoration" ]
droit_ouvert_majoration_ unembeddable
droit_ouvert_majoration_
(log_variable_definition
[
"AllocationsFamiliales"; "droit_ouvert_majoration"; "input";
@ -2714,13 +2697,12 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
&& ressources_menage_ <=$ plafond__i_i_d521_3_)
&& log_end_call
[ "AllocationsFamiliales"; "droit_ouvert_majoration" ]
unembeddable
(log_variable_definition
[ "AllocationsFamiliales"; "droit_ouvert_majoration"; "output" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "droit_ouvert_majoration" ]
droit_ouvert_majoration_ unembeddable
droit_ouvert_majoration_
(log_variable_definition
[
"AllocationsFamiliales"; "droit_ouvert_majoration"; "input";
@ -2749,13 +2731,12 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
(ressources_menage_ <=$ plafond__i_d521_3_
&& log_end_call
[ "AllocationsFamiliales"; "droit_ouvert_majoration" ]
unembeddable
(log_variable_definition
[ "AllocationsFamiliales"; "droit_ouvert_majoration"; "output" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "droit_ouvert_majoration" ]
droit_ouvert_majoration_ unembeddable
droit_ouvert_majoration_
(log_variable_definition
[
"AllocationsFamiliales"; "droit_ouvert_majoration"; "input";
@ -2782,7 +2763,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let montant_initial_base_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "montant_initial_base" ]
unembeddable
embed_money
(try
try montant_initial_base_ ()
with EmptyError -> (
@ -2816,20 +2797,19 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let montant_verse_complement_pour_forfaitaire_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "montant_versé_complément_pour_forfaitaire" ]
unembeddable
embed_money
(try
try montant_verse_complement_pour_forfaitaire_ ()
with EmptyError ->
if droit_ouvert_complement_ then
log_end_call
[ "AllocationsFamiliales"; "complément_dégressif" ]
unembeddable
(log_variable_definition
[ "AllocationsFamiliales"; "complément_dégressif"; "output" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "complément_dégressif" ]
complement_degressif_ unembeddable
complement_degressif_
(log_variable_definition
[ "AllocationsFamiliales"; "complément_dégressif"; "input" ]
unembeddable montant_verse_forfaitaire_)))
@ -2865,13 +2845,12 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
}
(log_end_call
[ "AllocationsFamiliales"; "droit_ouvert_majoration" ]
unembeddable
(log_variable_definition
[ "AllocationsFamiliales"; "droit_ouvert_majoration"; "output" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "droit_ouvert_majoration" ]
droit_ouvert_majoration_ unembeddable
droit_ouvert_majoration_
(log_variable_definition
[ "AllocationsFamiliales"; "droit_ouvert_majoration"; "input" ]
unembeddable param_)))
@ -2887,13 +2866,12 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
with EmptyError ->
log_end_call
[ "AllocationsFamiliales"; "montant_initial_métropole_majoration" ]
unembeddable
(log_variable_definition
[ "AllocationsFamiliales"; "montant_initial_métropole_majoration"; "output" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "montant_initial_métropole_majoration" ]
montant_initial_metropole_majoration_ unembeddable
montant_initial_metropole_majoration_
(log_variable_definition
[
"AllocationsFamiliales";
@ -2907,7 +2885,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let montant_avec_garde_alternee_base_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "montant_avec_garde_alternée_base" ]
unembeddable
embed_money
(try
try montant_avec_garde_alternee_base_ ()
with EmptyError -> montant_initial_base_ *$ rapport_enfants_total_moyen_
@ -2924,13 +2902,12 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
try
log_end_call
[ "AllocationsFamiliales"; "montant_initial_majoration" ]
unembeddable
(log_variable_definition
[ "AllocationsFamiliales"; "montant_initial_majoration"; "output" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "montant_initial_majoration" ]
montant_initial_majoration_ unembeddable
montant_initial_majoration_
(log_variable_definition
[ "AllocationsFamiliales"; "montant_initial_majoration"; "input" ]
unembeddable param_)))
@ -2938,13 +2915,12 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
match
log_end_call
[ "AllocationsFamiliales"; "prise_en_compte" ]
unembeddable
(log_variable_definition
[ "AllocationsFamiliales"; "prise_en_compte"; "output" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "prise_en_compte" ]
prise_en_compte_ unembeddable
prise_en_compte_
(log_variable_definition
[ "AllocationsFamiliales"; "prise_en_compte"; "input" ]
unembeddable param_)))
@ -2958,7 +2934,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let montant_verse_base_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "montant_versé_base" ]
unembeddable
embed_money
(try
try montant_verse_base_ ()
with EmptyError ->
@ -2969,7 +2945,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let montant_verse_majoration_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "montant_versé_majoration" ]
unembeddable
embed_money
(try
try montant_verse_majoration_ ()
with EmptyError ->
@ -2979,7 +2955,6 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
acc_
+$ log_end_call
[ "AllocationsFamiliales"; "montant_avec_garde_alternée_majoration" ]
unembeddable
(log_variable_definition
[
"AllocationsFamiliales";
@ -2989,7 +2964,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "montant_avec_garde_alternée_majoration" ]
montant_avec_garde_alternee_majoration_ unembeddable
montant_avec_garde_alternee_majoration_
(log_variable_definition
[
"AllocationsFamiliales";
@ -3004,7 +2979,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let montant_base_complement_pour_base_et_majoration_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "montant_base_complément_pour_base_et_majoration" ]
unembeddable
embed_money
(try
try montant_base_complement_pour_base_et_majoration_ ()
with EmptyError -> montant_verse_base_ +$ montant_verse_majoration_
@ -3013,20 +2988,19 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let montant_verse_complement_pour_base_et_majoration_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "montant_versé_complément_pour_base_et_majoration" ]
unembeddable
embed_money
(try
try montant_verse_complement_pour_base_et_majoration_ ()
with EmptyError ->
if droit_ouvert_complement_ then
log_end_call
[ "AllocationsFamiliales"; "complément_dégressif" ]
unembeddable
(log_variable_definition
[ "AllocationsFamiliales"; "complément_dégressif"; "output" ]
unembeddable
(log_begin_call
[ "AllocationsFamiliales"; "complément_dégressif" ]
complement_degressif_ unembeddable
complement_degressif_
(log_variable_definition
[ "AllocationsFamiliales"; "complément_dégressif"; "input" ]
unembeddable montant_base_complement_pour_base_et_majoration_)))
@ -3036,7 +3010,7 @@ let allocations_familiales (allocations_familiales_in : allocations_familiales_i
let montant_verse_ : money =
log_variable_definition
[ "AllocationsFamiliales"; "montant_versé" ]
unembeddable
embed_money
(try
try montant_verse_ ()
with EmptyError ->
@ -3127,7 +3101,7 @@ let interface_allocations_familiales
let date_courante_ : date =
log_variable_definition
[ "InterfaceAllocationsFamiliales"; "date_courante" ]
unembeddable
embed_date
(try date_courante_ () with EmptyError -> raise NoValueProvided)
in
let enfants_ : enfant_entree array =
@ -3139,7 +3113,7 @@ let interface_allocations_familiales
let ressources_menage_ : money =
log_variable_definition
[ "InterfaceAllocationsFamiliales"; "ressources_ménage" ]
unembeddable
embed_money
(try ressources_menage_ () with EmptyError -> raise NoValueProvided)
in
let residence_ : collectivite =
@ -3151,14 +3125,14 @@ let interface_allocations_familiales
let personne_charge_effective_permanente_est_parent_ : bool =
log_variable_definition
[ "InterfaceAllocationsFamiliales"; "personne_charge_effective_permanente_est_parent" ]
unembeddable
embed_bool
(try try personne_charge_effective_permanente_est_parent_ () with EmptyError -> false
with EmptyError -> raise NoValueProvided)
in
let personne_charge_effective_permanente_remplit_titre__i_ : bool =
log_variable_definition
[ "InterfaceAllocationsFamiliales"; "personne_charge_effective_permanente_remplit_titre_I" ]
unembeddable
embed_bool
(try try personne_charge_effective_permanente_remplit_titre__i_ () with EmptyError -> false
with EmptyError -> raise NoValueProvided)
in
@ -3199,7 +3173,7 @@ let interface_allocations_familiales
"InterfaceAllocationsFamiliales";
"allocations_familiales.personne_charge_effective_permanente_est_parent";
]
unembeddable
embed_bool
(try
if
log_decision_taken
@ -3224,7 +3198,7 @@ let interface_allocations_familiales
"InterfaceAllocationsFamiliales";
"allocations_familiales.personne_charge_effective_permanente_remplit_titre_I";
]
unembeddable
embed_bool
(try
if
log_decision_taken
@ -3245,7 +3219,7 @@ let interface_allocations_familiales
fun (_ : unit) ->
log_variable_definition
[ "InterfaceAllocationsFamiliales"; "allocations_familiales.ressources_ménage" ]
unembeddable ressources_menage_
embed_money ressources_menage_
in
let allocations_familiales_dot_residence_ : unit -> collectivite =
fun (_ : unit) ->
@ -3257,7 +3231,7 @@ let interface_allocations_familiales
fun (_ : unit) ->
log_variable_definition
[ "InterfaceAllocationsFamiliales"; "allocations_familiales.date_courante" ]
unembeddable date_courante_
embed_date date_courante_
in
let allocations_familiales_dot_enfants_a_charge_ : unit -> enfant array =
fun (_ : unit) ->
@ -3268,10 +3242,9 @@ let interface_allocations_familiales
let result_ : allocations_familiales_out =
log_end_call
[ "InterfaceAllocationsFamiliales"; "allocations_familiales"; "AllocationsFamiliales" ]
unembeddable
(log_begin_call
[ "InterfaceAllocationsFamiliales"; "allocations_familiales"; "AllocationsFamiliales" ]
allocations_familiales unembeddable
allocations_familiales
{
personne_charge_effective_permanente_est_parent_in =
allocations_familiales_dot_personne_charge_effective_permanente_est_parent_;
@ -3423,7 +3396,7 @@ let interface_allocations_familiales
let montant_verse_ : money =
log_variable_definition
[ "InterfaceAllocationsFamiliales"; "montant_versé" ]
unembeddable
embed_money
(try try montant_verse_ () with EmptyError -> allocations_familiales_dot_montant_verse_
with EmptyError -> raise NoValueProvided)
in