package catala
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Compiler and library for the literate programming language for tax code specification
Install
dune-project
Dependency
Authors
Maintainers
Sources
1.3.0.tar.gz
md5=59d0dd01df52c38a4d793b594f067d14
sha512=944b755f8b47cb14920994f03f022cc3ba6cdf5def1ae8ffda00a196fa97dcc5b57baf642a03068b79e949df2a98d5f0218e3358e549be1ff0f1cddda1e5f848
doc/catala.shared_ast/Shared_ast/Encoding/index.html
Module Shared_ast.EncodingSource
JSON encoding functions for Catala values
Runtime values to JSON encodings correspondence
- Unit: {} (empty JSON object)
- Bool: true | false (JSON boolean)
- Money: 123 (JSON integer) | 123.45 (JSON number) | "123" (JSON string)
Note:
- integer and string representations map to monetary units and not cents
- floats are truncated to the second decimal
- Integer: 123 (JSON integer) | "123" (JSON string)
- Decimal: 123 (JSON integer) | 123.45 (JSON number) | "1/3" (JSON string)
Note: we rely on [Q.of_string] for decoding strings
- Date: "1970-01-31" (JSON string)
Note: we rely on [Dates_calc.date_of_string]
- Duration: "1 years", "2 months" or "12 days" (JSON string)
- Enum:
- Unit constructors: "A" (JSON string)
- Non-unit constructors: {"B": <json value>} (JSON object)
- Struct: { "x": <json value>, "y": <json value>, ...} (JSON object)
- Array: [ <json value>, <json value>, ...] (JSON array)
- Tuple: [ <json value>, <json value>, ...] (JSON array)Source
val make_encoding :
Shared_ast__.Definitions.decl_ctx ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
Catala_runtime.Value.t Json_encoding.encodingComputes a JSON encoding of a Catala type using Value.t as an intermediate representation.
Source
val scope_input_encoding :
Shared_ast__.Definitions.ScopeName.t ->
Shared_ast__.Definitions.decl_ctx ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
Catala_runtime.Value.t Json_encoding.encodingSame as make_encoding but adds a title and a description to the generated JSON-schema expliciting that this represent a scope input structure.
Source
val scope_output_encoding :
Shared_ast__.Definitions.ScopeName.t ->
Shared_ast__.Definitions.decl_ctx ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
Catala_runtime.Value.t Json_encoding.encodingSame as make_encoding but adds a title and a description to the generated JSON-schema expliciting that this represent a scope output structure.
Source
val parse_json :
Catala_runtime.Value.t Json_encoding.encoding ->
Yojson.Safe.t ->
Catala_runtime.Value.tParse a JSON using the given encoding as validation schema.
Source
val convert_to_dcalc :
Shared_ast__.Definitions.decl_ctx ->
'm Shared_ast__.Definitions.mark ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
Catala_runtime.Value.t ->
((< monomorphic : Shared_ast__.Definitions.yes
; polymorphic : Shared_ast__.Definitions.yes
; overloaded : Shared_ast__.Definitions.no
; resolved : Shared_ast__.Definitions.yes
; syntacticNames : Shared_ast__.Definitions.no
; scopeVarStates : Shared_ast__.Definitions.no
; scopeVarSimpl : Shared_ast__.Definitions.no
; explicitScopes : Shared_ast__.Definitions.no
; defaultTerms : Shared_ast__.Definitions.yes
; reifiedPos : Shared_ast__.Definitions.no
; custom : Shared_ast__.Definitions.no >,
< monomorphic : Shared_ast__.Definitions.yes
; polymorphic : Shared_ast__.Definitions.yes
; overloaded : Shared_ast__.Definitions.no
; resolved : Shared_ast__.Definitions.yes
; syntacticNames : Shared_ast__.Definitions.no
; scopeVarStates : Shared_ast__.Definitions.no
; scopeVarSimpl : Shared_ast__.Definitions.no
; explicitScopes : Shared_ast__.Definitions.no
; defaultTerms : Shared_ast__.Definitions.yes
; reifiedPos : Shared_ast__.Definitions.no
; custom : Shared_ast__.Definitions.no >,
'm)
Shared_ast__.Definitions.base_gexpr,
'm Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast__.Definitions.boxedConversion function from a Value.t to a default calculus expression.
Source
val convert_to_lcalc :
Shared_ast__.Definitions.decl_ctx ->
'm Shared_ast__.Definitions.mark ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
Catala_runtime.Value.t ->
((< monomorphic : Shared_ast__.Definitions.yes
; polymorphic : Shared_ast__.Definitions.yes
; overloaded : Shared_ast__.Definitions.no
; resolved : Shared_ast__.Definitions.yes
; syntacticNames : Shared_ast__.Definitions.no
; scopeVarStates : Shared_ast__.Definitions.no
; scopeVarSimpl : Shared_ast__.Definitions.no
; explicitScopes : Shared_ast__.Definitions.no
; defaultTerms : Shared_ast__.Definitions.no
; reifiedPos : Shared_ast__.Definitions.yes
; custom : Shared_ast__.Definitions.no >,
< monomorphic : Shared_ast__.Definitions.yes
; polymorphic : Shared_ast__.Definitions.yes
; overloaded : Shared_ast__.Definitions.no
; resolved : Shared_ast__.Definitions.yes
; syntacticNames : Shared_ast__.Definitions.no
; scopeVarStates : Shared_ast__.Definitions.no
; scopeVarSimpl : Shared_ast__.Definitions.no
; explicitScopes : Shared_ast__.Definitions.no
; defaultTerms : Shared_ast__.Definitions.no
; reifiedPos : Shared_ast__.Definitions.yes
; custom : Shared_ast__.Definitions.no >,
'm)
Shared_ast__.Definitions.base_gexpr,
'm Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast__.Definitions.boxedConversion function from a Value.t to a lambda calculus expression.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page