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.0.0-beta.tar.gz
md5=c41cbc1fa003e167bbc0bb1cd7723ab3
sha512=1e07951e2d73040bc0bea89f04bcb50c3a533323a7c7d8bac9ee9aa6be5233f795a32857421d04f17e52a841057cdc78b33f79fa239a17dd12de97a738c81999
doc/catala.shared_ast/Shared_ast/Program/index.html
Module Shared_ast.ProgramSource
Program declaration context helpers
Transformations
Source
val map_decl_ctx :
f:
(Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos) ->
Shared_ast__.Definitions.decl_ctx ->
Shared_ast__.Definitions.decl_ctxSource
val map_scopes :
f:
(Shared_ast__.Definitions.ScopeName.t ->
'e Shared_ast__.Definitions.scope_body ->
'e Shared_ast__.Definitions.scope_body Bindlib.box) ->
'e Shared_ast__.Definitions.program ->
'e Shared_ast__.Definitions.programSource
val map_scopes_env :
f:
('acc ->
('e Shared_ast__.Definitions.boxed -> 'e Shared_ast__.Definitions.boxed) ->
Shared_ast__.Definitions.ScopeName.t ->
'e Shared_ast__.Definitions.scope_body ->
'acc * 'e Shared_ast__.Definitions.scope_body Bindlib.box) ->
?last:
('acc ->
('e Shared_ast__.Definitions.boxed -> 'e Shared_ast__.Definitions.boxed) ->
(Shared_ast__.Definitions.code_export_kind * 'e) list ->
(Shared_ast__.Definitions.code_export_kind * 'e) list Bindlib.box) ->
init:'acc ->
'e Shared_ast__.Definitions.program ->
'e Shared_ast__.Definitions.programMaps on the scopes in the program, passing along an "environment" in the form of a function binding all toplevel and scope definitions to their variables in the argument expression
Source
val map_exprs :
?typ:
(Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos) ->
f:('expr1 -> 'expr2 Shared_ast__.Definitions.boxed) ->
varf:('expr1 Var.t -> 'expr2 Var.t) ->
'expr1 Shared_ast__.Definitions.program ->
'expr2 Shared_ast__.Definitions.programIf typ is specified, definitions in decl_ctx are also processed
Source
val fold_left :
f:('a -> 'expr Shared_ast__.Definitions.code_item -> 'a) ->
init:'a ->
'expr Shared_ast__.Definitions.program ->
'aSource
val fold_exprs :
f:
('a ->
'expr ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
'a) ->
init:'a ->
'expr Shared_ast__.Definitions.program ->
'aSource
val fold_right :
f:('expr Shared_ast__.Definitions.code_item -> 'a -> 'a) ->
init:'a ->
'expr Shared_ast__.Definitions.program ->
'aSource
val get_scope_body :
(((_ Shared_ast__.Definitions.any, _ Shared_ast__.Definitions.any, 't)
Shared_ast__.Definitions.base_gexpr,
't Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed as 'e)
Shared_ast__.Definitions.program ->
Shared_ast__.Definitions.ScopeName.t ->
'e Shared_ast__.Definitions.scope_bodySource
val get_mark_witness :
((_ Shared_ast__.Definitions.any, _ Shared_ast__.Definitions.any, 'm)
Shared_ast__.Definitions.base_gexpr,
'm Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast__.Definitions.program ->
'm Shared_ast__.Definitions.markRaises Not_found on an empty program
Source
val untype :
(('a Shared_ast__.Definitions.any, 'a Shared_ast__.Definitions.any, _)
Shared_ast__.Definitions.base_gexpr,
_ Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast__.Definitions.program ->
(('a, 'a, Shared_ast__.Definitions.untyped)
Shared_ast__.Definitions.base_gexpr,
Shared_ast__.Definitions.untyped Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast__.Definitions.programSource
val to_expr :
(((_ Shared_ast__.Definitions.any, _ Shared_ast__.Definitions.any, _)
Shared_ast__.Definitions.base_gexpr,
_ Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed as 'e)
Shared_ast__.Definitions.program ->
Shared_ast__.Definitions.ScopeName.t ->
'e Shared_ast__.Definitions.boxedUsage: build_whole_program_expr program main_scope builds an expression corresponding to the main program and returning the main scope as a function.
Source
val find_scope :
Shared_ast__.Definitions.ScopeName.t ->
('e,
'e Shared_ast__.Definitions.code_item,
(Shared_ast__.Definitions.code_export_kind * 'e) list)
Shared_ast__.Definitions.bound_list ->
'e Shared_ast__.Definitions.scope_bodySource
val modules_to_list :
Shared_ast__.Definitions.module_tree_node Catala_utils.Uid.Module.Map.t ->
(Catala_utils.Uid.Module.t * Shared_ast__.Definitions.module_intf_id) listReturns a list of used modules, in topological order
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page